通过 JNDI 将 Tomcat 连接到独立的 Artemis Broker

问题描述 投票:0回答:2

我想在 tomcat server.xml 中将 jms ConnectionFactory 定义为全局资源,以将我的 web 应用程序连接到独立的 Artemis 服务器。

不幸的是,我找不到任何官方或干净的手册来描述这种常见的用例所需的库和配置。

有人可以给我举个例子吗?

java tomcat jakarta-ee jndi activemq-artemis
2个回答
1
投票

我找不到任何基于 Artemis 的本地解决方案。 Artemis 服务器与 ActiveMQ 客户端兼容。因此我们可以按照 ActiveMQ 手册来实现此目的。

  • 将 ActiveMQ 客户端库添加到 $CATALINA_HOME/lib

    • geronimo-jms_2.0_spec-1.0-alpha-2.jar
    • activemq-client-5.14.3.jar
    • geronimo-j2ee-management_1.1_spec-1.0.1.jar
    • hawtbuf-1.11.jar
    • slf4j-api-1.7.6.jar
  • 将全局资源添加到$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>
    

-2
投票

科技行业令人兴奋的工作机会:业务分析师、软件工程师等等! https://24caratnews.com/exciting-job-opportunities-in-the-tech-industry-business-analysts-software-engineers-and-more/

© www.soinside.com 2019 - 2024. All rights reserved.