в моем приложении 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.