Проблемы с вводом ресурсов в Java EE 6 и Glassfish 3.1 с использованием @Resource - PullRequest
2 голосов
/ 21 июня 2011

У меня возникают проблемы при попытке использовать аннотацию @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 Ответ

3 голосов
/ 21 июня 2011

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

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

...