Написание JMS Publisher без public static void main

Каждый пример, который я видел в Интернете, например. http://www.codeproject.com/KB/docview/jms_to_jms_bridge_activem.aspx, создает издателя и подписчика с помощью метода public static void main. Я не думаю, что это сработает для моего веб-приложения.

Я изучаю JMS и настроил Apache ActiveMQ для работы на JBoss 5 и Tomcat 6 (без сбоев).

Я пишу службу обмена сообщениями JMS, которая должна отправлять электронную почту асинхронно.

Я уже написал подписчика JMS, который получает сообщение (класс наследует MessageListener).

Мой вопрос прост:

  • Как мне написать издатель, который будет вызывать мои веб-приложения? Это надо где-то публиковать? Моя идея состоит в том, чтобы создать издателя с конструктором без атрибутов (там) и получить фабрику MessageQueue и т. д. из пула JNDI (в конструкторе). Верна ли моя мысль?
  • Как мне подписать моего подписчика на Queue Receiver? (Пока что у подписчика нет конструктора, и если я пишу конструктор, всегда ли я сам подписываюсь на приемник Queue?)

Спасибо за вашу помощь, извините, если моя терминология не соответствует действительности, слишком много терминов java, которые я иногда теряю (возможно, java GPS подойдет! :-))

PS: Есть ли учебник, в котором объясняется, как написать «лучший» (лучшее может означать что угодно, но в моем случае это все о производительности в запросах с высоким спросом) JMS Publisher и Subscriber, которые я могу работать на сервере приложений, таком как JBoss или Glassfish? Не забывайте, что приложению JMS потребуется «гарантированное» время безотказной работы, поскольку многие приложения будут использовать это.


person Buhake Sindi    schedule 15.03.2010    source источник


Ответы (1)


Если вы используете Spring, попробуйте JmsTemplate, иначе просто откройте исходный код и прочитайте его;)

http://www.java.happycodings.com/Other/code53.html

http://www.agitar.com/openquality/spring/org/springframework/jms/core/JmsTemplate.java.html

person Kannan Ekanath    schedule 15.03.2010
comment
Извините, я не использую Spring для этого проекта. - person Buhake Sindi; 16.03.2010
comment
Вы можете проверить ссылку java.happycodings.com/Other/code53.html. у которого есть простая ссылка, как это сделать :) - person Kannan Ekanath; 16.03.2010
comment
Спасибо, но в моем случае не очень помогает. - person Buhake Sindi; 16.03.2010
comment
Вы действительно помогли, показав код JmsTemplate.java. Тем не менее, я улучшил его, потому что некоторые методы мне не очень нравились. - person Buhake Sindi; 23.03.2010