Каждый пример, который я видел в Интернете, например, 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-приложению потребуется «гарантийное» время безотказной работы, так как многие приложения будут его использовать.