IDE não consegue acessar JNDI diretamente?

8 respostas
D

Olá, senhores…!

Estou montando um projetinho usando Netbeans com Hibernate e Glassfish 3.1. Montei um JNDI no Glassfish e lá está pingando normalmente.

Ocorre o seguinte: estou tentando acessar o JNDI direto do IDE e não consigo. Um amigo me disse que, em ambiente de desenvolvimento, o IDE não consegue acessar diretamente o JNDI, somente em produção, quando o deploy é feito no container.

Isso está correto?

8 Respostas

Hebert_Coelho

ddso:
Olá, senhores…!

Estou montando um projetinho usando Netbeans com Hibernate e Glassfish 3.1. Montei um JNDI no Glassfish e lá está pingando normalmente.

Ocorre o seguinte: estou tentando acessar o JNDI direto do IDE e não consigo. Um amigo me disse que, em ambiente de desenvolvimento, o IDE não consegue acessar diretamente o JNDI, somente em produção, quando o deploy é feito no container.

Isso está correto?

Se o for o JNDI do ambiente produção ele ta certo uai. O firewall deve/pode bloquear.

Agora se você tiver o como levantar a aplicação que contém o JNDI desejável em DEV você pode acessar numa boa. [=

Rodrigo_Sasaki

Que? não é responsabilidade da IDE encontrar o que estiver amarrado ao endereço JNDI, e sim do seu código.

Se você fez o deploy da aplicação em um AS, e está tentando acessá-lo em um cliente desktop, você tem que ter em mente que vai fazer um acesso remoto, mesmo estando na mesma máquina.

o AS e o seu client estão rodando em instâncias diferentes da JVM, portanto se você tentar fazer um lookup local, como faz nas classes que estão dentro do container, não vai conseguir.

D

Não, não é o ambiente de produção. Eu instalei o glassfish localmente e configurei nele o acesso ao banco.

D
digaoneves:
Que? não é responsabilidade da IDE encontrar o que estiver amarrado ao endereço JNDI, e sim do seu código.
Meu hibernate.cfg está assim:
<hibernate-configuration>
    <session-factory>
        <!-- JNDI/DATASOURCE -->
        <property name="connection.datasource">java:/comp/env/jdbc/teste</property>
    
        <!-- Parametros adicionais -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">false</property>
        <property name="use_outer_join">false</property>
        <property name="hibernate.generate_statistics">false</property>
        <property name="hibernate.use_sql_comments">false</property>
    </session-factory>
</hibernate-configuration>
No entanto, não consigo me conectar com o JNDI teste que eu criei no glassfish
Rodrigo_Sasaki

O problema é na hora de subir o servidor?

se seu cliente for separado da aplicação rodando no AS, você precisa “ensiná-lo” a encontrar o JNDI, o que geralmente é feito no arquivo jndi.properties, pelo menos no JBoss, não sei se seria o mesmo para o Glassfish

D

não… o glassfish está ok. O problema é: como fazer o meu código acessar o JNDI que está configurado no glassfish local?

Rodrigo_Sasaki

Qual o problema que você está tendo? Está sendo lançada alguma exceção? Se sim, poste ela e diga em que momento ela é lançada.

mauriciot.silva

verifica se no seu classpath tem essa lib
gf-client.jar

ela eh necessaria para fazer lookup no glassfish
vs esta fazendo o lookup do q???

Criado 21 de agosto de 2012
Ultima resposta 21 de ago. de 2012
Respostas 8
Participantes 4