Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 7 da Aula 8 - Agendamento e EAR

Olá pessoal, será que podeiram me dar uma ajuda?

Segui todos os passos listados no exercício, mas uma exceção relacionada ao iniciar o InitialContext está sendo lançada:

Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344) at javax.naming.InitialContext.lookup(InitialContext.java:411) at br.com.caelum.Client.main(Client.java:10)

Estou usando o Jboss AS 7.1, criei um Dynamic Web Project. Dentro do mesmo projeto criei a classe com o método main que deveria consumir o EJB remoto desse mesmo projeto.

Os aquivos de configuração estão conforme especificado no exercício.

4 respostas

Oi Vinicius,

Geralmente esse erro ocorre quando não tem o arquivo jndi.properties no src projeto.

Pode verificar e postar aqui o conteúdo do seu arquivo?

solução!

Boa noite amigos.

Rodrigo segue aqui o conteúdo do meu arquivo jndei.properties:

java.naming.factory.url.pkgs=org.jboss.ejb.client.naming

Porém, como está correto o problema não foi causado por ele.

No exercício faltou o passo de inserção do arquivo ejb-client.jar na aplicação do cliente. Sem ele não é possível encontrar o arquivo jndi.properties ao instaciar a classe InitialContext com o construtor padrão.

Ao inserir esse arquivo na pasta lib, foi possível consumir o ejb remoto.

att,

Vinícius Vieira

Errata: O nome do arquivo é jboss-client.jar.

Fica localizado no diretório bin/client do servidor jboss.

att,

Vinícius Vieira

Vinicius Vieira, obrigado por descrever a solução. Estava apanhando aqui com isso e não achava o erro.