Внедрение ресурсов не работает при запуске примеров jms в eclipse. - PullRequest
4 голосов
/ 19 ноября 2011

Я хочу запустить обучающие файлы jms в eclipse. Я правильно настроил glassfish и добавил ресурсы jms. Это работает нормально, если я запускаю его в netbeans.

Я создал «клиентский проект приложения» в Eclipse.

Вот где вводятся ресурсы:

 @Resource(mappedName = "jms/ConnectionFactory")
 private static ConnectionFactory connectionFactory;
 @Resource(mappedName = "jms/Queue")
 private static Queue queue;
 @Resource(mappedName = "jms/Topic")
 private static Topic topic;

Затем, когда он попадет сюда:

connection = connectionFactory.createConnection();

Я получаю исключение NullPointerException. По какой-то причине он не получает ресурсы с сервера, поэтому они равны нулю.

Это работает, если я собираю проект в eclipse, а затем запускаю его из командной строки, используя appclient:

 appclient Producer topic 4

Здесь говорится http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.j2ee.doc.user%2Ftopics%2Fcjappcliproj.html, что:

Модуль клиентского приложения используется, чтобы содержать полнофункциональный клиент Приложение Java ™ (не основанное на веб-технологиях), которое подключается и использует Java Ресурсы EE определены на вашем сервере. Когда вы размещаете код клиента в клиентский модуль приложения вместо простого файла JAR, Клиент приложения извлекает выгоду из ресурсов сервера (он не необходимо повторно указать путь к классу Java EE и файлы JAR сервера) как а также из более простого поиска JNDI (клиентский контейнер заполняет исходный контекст и другие параметры).

Похоже, я на правильном пути, но, возможно, мне не хватает какой-либо конфигурации затмения.

1 Ответ

4 голосов
/ 19 ноября 2011

Как вы уже заметили, если вы запустите приложение в автономном режиме, вы не сможете получить доступ к ресурсам сервера, это сделано специально.Вам необходимо использовать Glassfish appclient (или аналогичные инструменты для других серверов приложений) для запуска клиентского приложения Java EE.Вот еще один поток, который может помочь вам настроить ваш проект для правильной работы: затмение, как запустить клиент приложения на java ee glassfish appl srv .

...