2015-02-01 5 views
1

В администраторе Glassfish я настраиваю пул соединений JDBC, чтобы я мог ping нормально. Также в администраторе Glassfish я установил ресурс JNDI JDBC под названием jdbc/myDbИсключительное исключение указателя при попытке использования JNDI для JDBC

Однако я не могу подключиться к нему с Java. Я попробовал и стиль впрыска:

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

Я также попытался стиль Context:

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

Все, что я получаю java.lang.NullPointerException.

Я также пробовал различные стили именования, такие как Java: JDBC/MyDB или Java: COMP/ENV/JDBC/MyDB

Это использует последнюю Glassfish (4.1), последняя Postgres Driver (9.3-1102 JDBC 41) против Postgres 9.4 и последней Java (1.8.0_31-b13).

ответ

2

Got в меню JDBC -> Ресурсы JDBC -> JDBC/__ по умолчанию

Выберите DBName в раскрывающемся меню "Pool Name:" и использовать

@Resource (mappedName="jdbc/__default") 

виду два "_"!

По крайней мере, это работает для меня.

p.s .: Вы можете указать, где находится NPE?