Проблемы с вводом ресурсов в 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.