Проблемы с вводом ресурсов в Java EE 6 и Glassfish 3.1 с использованием @Resource

У меня возникли проблемы при попытке использовать аннотацию @Resource с Java EE 6 и Glassfish 3.1 (встроенные). Я хочу найти источник данных JNDI, поэтому я пытаюсь заставить его работать со стандартным источником данных в Glassfish. В моем коде у меня есть:

@Resource(lookup = "java:global/env/jdbc/__default")
DataSource dataSource;

Компилируется нормально. Я использую Maven + совет здесь.

Однако, когда я развертываю свой.war, я всегда получаю следующую ошибку:

WARNING: Incorrect @Resource annotation class definition - missing lookup attribute
  symbol: FIELD
  location: javax.sql.DataSource ResourceLookup.dataSource

Это такой простой пример, что я был бы чрезвычайно удивлен, если бы это была ошибка. Я должен делать что-то не так. Есть идеи?

1 ответ

Решение

В качестве теста, вы можете попробовать "jdbc/__default" в качестве строки поиска? Для своих источников данных я ищу их, используя указанное мной имя jndi, всегда с шаблоном "jdbc / MyDataSourceName".

@Resource (lookup = "jdbc / MyDataSourceName") работает хорошо. Никогда не пытался искать ds по умолчанию, особенно не через пространство имен java:global.

Другие вопросы по тегам