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