我想在 tomcat server.xml 中将 jms ConnectionFactory 定义为全局资源,以将我的 webapps 连接到独立的 Artemis 服务器。
不幸的是,对于这样一个描述所需库和配置的常见用例,我找不到任何官方或干净的手册。
有人可以给我举个例子吗?
我想在 tomcat server.xml 中将 jms ConnectionFactory 定义为全局资源,以将我的 webapps 连接到独立的 Artemis 服务器。
不幸的是,对于这样一个描述所需库和配置的常见用例,我找不到任何官方或干净的手册。
有人可以给我举个例子吗?
我找不到任何基于 Artemis 的原生解决方案。Artemis 服务器与 ActiveMQ 客户端兼容。所以我们可以按照 ActiveMQ 手册来达到这个目的。
将 ActiveMQ 客户端库添加到 $CATALINA_HOME/lib
将全局资源添加到 $CATALINA_HOME/conf/server.xml
<Resource auth="Container"
name="jms/ConnectionFactory"
type="org.apache.activemq.ActiveMQConnectionFactory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://127.0.0.1:61616"
brokerName="MyActiveMQBroker"/>
将资源链接添加到 $CATALINA_HOME/conf/context.xml
<ResourceLink name="/ConnectionFactory"
global="jms/ConnectionFactory"
type="javax.jms.ConnectionFactory"/>
在应用上下文中查找连接工厂
<bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/ConnectionFactory" />
<property name="proxyInterface" value="javax.jms.ConnectionFactory"/>
</bean>