в моем приложении Primefaces я хочу использовать JMSBroadcaster фреймворка атмосферы для распространения сообщений между двумя экземплярами моего приложения.
Для этого мне нужно найти (JNDI) JMS ConnectionFactory и Topic (используемая нами реализация — Tibco EMS).
Я новичок в JMS и не могу понять, как настроить ресурс Tibco JMS в Tomcat context.xml и server.xml (я не использую активный MQ). Я пытаюсь объявить эти ресурсы JMS из EMS в Tomcat 8. Я добавил tibjms-7.0.1.jar и jboss-jms-api_1.1_spec-1.0.1.Final.jar в tomcat8/lib/
Но при запуске tomcat я получаю следующую ошибку (даже без развернутой войны):
СЕРЬЕЗНЫЙ [основной] org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans RuntimeException java.lang.NullPointerException
Я не могу понять, в чем проблема (я не уверен, что могу получить более подробную информацию об этой зарегистрированной ошибке).
Вот моя конфигурация tomcat:
In server.xml
<Resource
id="atmosphereFactory"
name="jms/atmosphereFactory"
jndiName="atmosphereFactory"
auth="Container"
type="com.tibco.tibjms.naming.TibjmsInitialContextFactory"
factory="com.tibco.tibjms.naming.TibjmsObjectFactory"
factoryClass="com.tibco.tibjms.naming.TibjmsInitialContextFactory"
brokerName="localhost"
brokerURL="tcp://localhost:7222"
serverUrl="localhost:7222"
userName="admin"
password="" />
<Resource
id="atmosphere"
name="jms/atmosphere/test.atmo"
jndiName="atmosphere"
auth="Container"
type="com.tibco.tibjms.TibjmsTopic"
factory="com.tibco.tibjms.naming.TibjmsObjectFactory"
physicalName="test.atmo"/>
In context.xml
<ResourceLink
global="jms/atmosphereFactory"
name="jms/atmosphereFactory"
type="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
<ResourceLink
global="jms/atmosphere"
name="jms/atmosphere"
type="com.tibco.tibjms.TibjmsTopic" />
В качестве альтернативы меня также может заинтересовать способ настройки JMSBroadcaster атмосферы с использованием ConnectionFactory и Topic, введенных из Spring.