Olá pessoal, boa tarde à todos.
Estou desenvolvendo uma aplicação utilizando EJB3 no NetBeans e JBoss. Inicialmente estava tendo problemas com o bind do data source, mas já consegui resolver esse problema. Mas agora, não consigo acessar o bean de teste que criei. O deploy esta sendo feito corretamente, mas ao tentar acessar via um Servlet, uma exceção é disparada: bean not bound. O interessante é que se eu acessar o jmx-console do JBoss, o bean esta lá ativo.
Ao executar a aplicação, a linha final do Jboss é:
13:41:17,671 INFO [EJBContainer] STARTED EJB: br.com.teste.beans.FuncionarioBean ejbName: FuncionarioBean
13:41:17,671 INFO [EJB3Deployer] Deployed: file:/E:/web/jboss-4.2.2.GA/server/default/tmp/deploy/tmp16055teste.ear-contents/teste-ejb.jar
13:41:18,000 INFO [TomcatDeployer] deploy, ctxPath=/teste, warUrl=…/tmp/deploy/tmp16055teste.ear-contents/teste-war-exp.war/
13:41:18,156 INFO [EARDeployer] Started J2EE application: file:/E:/web/jboss-4.2.2.GA/server/default/deploy/teste.ear
Bean FuncionarioBean:
@Stateful()
public class FuncionarioBean implements FuncionarioRemoto {
@PersistenceContext(unitName="teste")
private EntityManager manager;
public FuncionarioBean() {}
public void createFuncionario(Pessoa funcionario) throws Exception {
if (manager == null) throw new Exception("O EntityManager esta nulo!");
manager.persist(funcionario);
}
}
No meu Servlet, fiz a seguinte chamada para acessar via jndi:
Context jndiCntx = new InitialContext();
//Object ref = jndiCntx.lookup(“java:comp/env/ejb/FuncionarioBean”);
Object ref = jndiCntx.lookup(“FuncionarioBean/remote”);
FuncionarioRemoto bean = (FuncionarioRemoto) PortableRemoteObject.narrow(ref, FuncionarioRemoto.class);
Quando tento criar um funcionário (meu bean de teste), a seguinte exeção é disparada: FuncionarioBean not bound. Tentei várias formas de obter a referência do beans mas não consegui.
Será que tem alguma configuração extra a ser feita?
Att,
Fred