/ / Excepción de puntero nulo al intentar utilizar JNDI para JDBC - java, jdbc, glassfish, jndi, glassfish-4

Excepción de puntero nulo al intentar usar JNDI para JDBC - java, jdbc, glassfish, jndi, glassfish-4

En el administrador de Glassfish, configuro un grupo de conexión JDBC al que puedo hacer ping. También en el administrador de Glassfish, he configurado un recurso JDBC de JNDI llamado jdbc / myDb

Sin embargo, no puedo conectarme desde Java. He intentado con ambos estilos de inyección:

@Resource (mappedName="jdbc/myDB")
private DataSource datasource;

También he probado el estilo de contexto:

Context ctx = new InitialContext();
DataSource datasource = (DataSource)ctx.lookup("jdbc/myDB")

Todo lo que obtengo es java.lang.NullPointerException.

También he probado varios estilos de nombres como java: jdbc / myDB o java: comp / env / jdbc / myDb

Esto utiliza el último Glassfish (4.1), el último controlador de Postgres (9.3-1102 JDBC 41) contra Postgres 9.4 y el último Java (1.8.0_31-b13).

Respuestas

2 para la respuesta № 1

Acceda al menú JDBC -> Recursos JDBC -> jdbc / __ predeterminado

Elija su DBName en el menú desplegable "Nombre del grupo:" y use

@Resource (mappedName="jdbc/__default")

¡Cuidado con los dos "_"!

Al menos esto funciona para mí.

p.s .: ¿Puede especificar dónde se lanza el NPE?