【发布时间】:2016-10-18 22:11:15
【问题描述】:
在我的 Primefaces 应用程序中,我想使用大气框架的 JMSBroadcaster 在我的应用程序的 2 个实例之间传播消息。
为此,我需要查找 (JNDI) JMS ConnectionFactory 和 Topic(我们使用的实现是 Tibco EMS)。
我对 JMS 很陌生,我不知道如何在 Tomcat 的 context.xml 和 server.xml 中配置 Tibco JMS 资源(我没有使用活动 MQ)。我正在尝试从 Tomcat 8 中的 EMS 声明这些 JMS 资源。
我在tomcat8/lib/ 中添加了tibjms-7.0.1.jar 和jboss-jms-api_1.1_spec-1.0.1.Final.jar
但是,在 tomcat 启动时,我收到以下错误(即使没有部署任何战争):
严重 [main] 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" />
另外,我也可能对使用从 Spring 注入的 ConnectionFactory 和 Topic 配置大气的 JMSBroadcaster 的方法感兴趣。
【问题讨论】:
标签: tomcat jms jndi atmosphere tibco-ems