Я пытаюсь отправить сообщение с помощью JMS из сервлета (работающего на Apache Tomcat) в ActiveMQ, работающий на другой виртуальной машине в той же системе.
То, что я пробовал:
- Запуск ActiveMQ в моей системе.
- Написал клиент (приложение Java) (Producer) для создания сообщений.
- Написал клиент (приложение Java) (Consumer) для получения этих сообщений.
Вышеуказанная настройка работает нормально.
Теперь у меня есть сервлет, который ищет ресурсы через JNDI.Это конфигурация context.xml в каталоге META-INF Tomcat.
<Context>
<Resource
name="jms/ConnectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL=" tcp://localhost:61616"
/>
</Context>
Я могу найти эти ресурсы в sevlet.Сообщение отправлено.Но я думаю, что это не достигает ActiveMQ.Есть идеи, почему?
Я чувствую, что он отправляет его в другое место назначения vm://localhost
, работающее внутри контейнера?что не то, что я хочу.Я новичок в маме.
Если бы кто-то мог сказать мне, как отправить сообщение JMS из сервлета удаленному брокеру, это было бы здорово.