Написание JMS Publisher без "общедоступной статической void main" - PullRequest
0 голосов
/ 16 марта 2010

Каждый пример, который я видел в Интернете, например, 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? (Пока у подписчика нет конструктора, и если я пишу конструктор, всегда ли я подписываюсь на получателя очереди?)

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

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

1 Ответ

0 голосов
/ 16 марта 2010

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

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

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

...