Jndi

Senhores,

Estou começando a estudar JNDI e estou com a seguinte dúvida: O JNDI serve, em termos gerais, para registrarmos um componente com um nome único no contexto e depois chamá-lo por esse nome para obtermos uma instância do mesmo?

isso mesmo!

JNDI eh a API padrao para vc navegar em sistemas de diretorios como LDAP, NDS, Active Directory etc… Ele tem funcionalidades avancadas para isso. Ele estah para sistemas de diretorios assim como JDBC estah para Bancos de Dados relacionais. Em servidores J2EE ele eh utilizado para implementar o registro de recursos (como COSNaming para CORBA) onde vc consegue localizar referencias a objetos atraves de uma String (em um formato de arvore). Assim, conseguimos obter referencias de objetos (Interfaces Home, DataSources, Queues, Resource adapters etc.) atraves da arvore JNDI do servidor de Aplicacao J2EE.

Opa, pessoal to com um problema aqui, to estudando o livro Java em 21 dias mas como ele usa a RI da Sun eu ea fazendo no tomcat, so q me enrolei todo aqui. To na parte de JNDI e nao to sabendo configurar, no livro ele diz q no da sun tem q configurar o classpath j2ee.jar e tal. Ja andei lendo porae, tem q usar o JBoss e nao o tomcat? Como eu faço pra configurar isso? :cry:

EDITADO: Acho q entendi, o equivalente ao RI da sun é o JBoss e nao o tomcat ne :newbie: . Foi so da mais uma procurada… http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=5054
Valeu :wink:

eu tb me embananei no inicio do livro, mas como eu só uso o JNDI pra fazer pesquisas de EJBs bindados no contexto, é receita de bolo, qnd faz o deploy do EJB no JBoss, pegar ele com JNDI no código é receita de bolo… :slight_smile:

Ainda nao consegui fazer nada, ja configurei tudo mas ainda nao ta dando, alguem pode me dizer como ta a classepath e o jndi.properties do jboss pq acho q o problema é la.

O meu aqui ta:
JBOSS_HOME=C:\JBoss
classpath=%JBOSS_HOME%\lib

e o jndi.properties tem:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Quando eu inicio da logo o erro:

log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: log\test.log (O sistema nÒo pode encontrar o caminho especificado)

E na execução da o erro:

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

Mas abrindo o browser roda normal, oq tem de errado?