我想使用大氣框架的JMSBroadcaster
爲了在我的應用程序的兩個實例之間傳播消息。爲此,我需要爲JMS ConnectionFactory
和Topic
(我們使用的實現是Tibco EMS)查找(JNDI)。使用JMS Tibco EMS JNDI資源啓動Tomcat時,Catalina出現NullPointerException
我對JMS非常新,我無法確定如何在Tomcat的context.xml
和server.xml
(我沒有使用活動MQ)中配置Tibco JMS資源。我試圖從EMS在Tomcat中8 聲明這些JMS資源我tomcat8/lib/
添加tibjms-7.0.1.jar
和jboss-jms-api_1.1_spec-1.0.1.Final.jar
但是,在Tomcat啓動,我收到以下錯誤(即使沒有任何部署WAR):
嚴重[主] org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans的RuntimeException顯示java.lang.NullPointerException
我無法弄清楚如何哪裏出了問題(我不知道我能有這個記錄的詳細信息錯誤)。
這裏是我的Tomcat配置:
在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"/>
在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" />
或者,我也可以用ConnectionFactory
和Topic
有興趣的方式來配置大氣的JMSBroadcaster
從Spring注入。