【发布时间】:2012-01-21 15:49:57
【问题描述】:
我正在尝试通过 JNDI 使用 ActiveMQ,将应用程序部署在 Tomcat 7.0 服务器中。
我在Tomcatcontext.xml配置文件中对ActiveMQ连接工厂和队列进行了设置,如下所示:
<Resource
auth="Container"
brokerName="LocalActiveMQBroker"
brokerURL="vm://localhost"
clientID="TomcatClientID"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
name="jms/ConnectionFactory"
password="password"
type="org.apache.activemq.ActiveMQConnectionFactory"
userName="user"/>
<Resource
auth="Container"
description="Order Queue"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
name="jms/orderQ"
physicalName="orderQ"
type="org.apache.activemq.command.ActiveMQQueue"/>
我尝试通过这种方式获取连接工厂:
nnectionFactory connectionFactory = (ConnectionFactory) context
.lookup("java:comp/env/jms/ConnectionFactory");
但我得到一个例外:
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)
我试图找出异常的原因,但我发现它可能来自我已添加到 tomcat lib 文件夹中的 commons-logging jar。
我哪里错了?
【问题讨论】:
标签: java tomcat jms jndi activemq