Я хочу запустить обучающие файлы 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 (клиентский контейнер заполняет
исходный контекст и другие параметры).
Похоже, я на правильном пути, но, возможно, мне не хватает какой-либо конфигурации затмения.