Galera,
Tenho uma aplicação utilizando EJB e estou tentando utilizar o JBoss(4.0.1). Criei um arquivo .ear e coloquei no diretório “default\deploy”, mas quando tento executar a url, o projeto nao é encontrado.
Application.xml
[code]<!DOCTYPE application PUBLIC "-//Sun Microsystems,
Inc.//DTD J2EE Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<display-name>Estudo</display-name>
<module>
<web>
<web-uri>Arquivo.ear</web-uri>
<context-root>/Estudo</context-root>
</web>
</module>
</application>
[/code]
OBS: na console do jboss, diz que nao encontrou o Arquivo.ear
Pergunta: é só isso que tem que fazer? ou precisa criar ejb.jar e colocar os arquivos de ejb, criar um .war e colocar a aplicação toda lá e depois colocar tudo num .ear???
O que eu realmente preciso fazer pra poder funcionar? Ou onde posso achar documentação a respeito?
já tenho o manual do Jboss (startguide40.zip)
Valeu
Cara,
nunca utilizei .ear no jboss, mas pra fazer deploy de ejb ce precisa criar um .jar com seus ejbs e dentro do jar ainda vai o ejb-jar.xml dentro do dir META-INF. Se isso muda com .ear nao sei, alguem me corrija se eu estiver errado
valeu
cara já resolvi esse problema! Valeu
Agora o problema é outro…
Mensagem de erro:
20:05:38,571 ERROR [MainDeployer] could not start deployment: file:/D:/jboss-4.0.1sp1/server/default/deploy/StrutsEstudo.war
org.jboss.deployment.DeploymentException: Error during deploy; - nested throwable: (javax.naming.NamingException: resource-ref: StrutsEstudoHome has no valid JNDI binding. Check the jboss-web/resource-ref.)
Chamada do EJB:
Context ctx = new InitialContext();
Object obj = ctx.lookup("StrutsEstudoHome");
StrutsEJBHome home = (StrutsEJBHome) javax.rmi.PortableRemoteObject.narrow (obj, StrutsEJBHome.class);
StrutsEJBRemote remote = home.create();
Jboss-web.xml[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC
"-//JBoss//DTD Web Application 2.4//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
<jboss-web>
<resource-ref>
<res-ref-name>StrutsEstudoHome</res-ref-name>
<res-type>javax.naming.Context</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<ejb-ref>
<ejb-ref-name>StrutsEstudoHome</ejb-ref-name>
<jndi-name>StrutsEstudoEJB</jndi-name>
</ejb-ref>
</jboss-web>[/code]
Se puder ajudar…
Valeu
poe ai o seu ejb-jar.xml para ver se está com o o nome jndi correto
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>StrutsEstudoEJB</ejb-name>
<home>ejb.StrutsEJBHome</home>
<remote>ejb.StrutsEJBRemote</remote>
<ejb-class>ejb.StrutsEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>[/code]
É impressao minha ou nao tem o StrutsEstudoHome no ejb-jar.xml, e sim StrutsEJBHome!??!