0

我在同一台机器上有两个独立的 HornetQ 服务器!我按照 HornetQ 示例中的 jms-bridge 示例配置源服务器目标服务器(我将配置从示例复制到我的服务器)。当我想运行目标服务器(包含 jms 桥)时,它找不到 JMSBridge bean 的 TransactionManager 属性,因为com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple不在服务器类路径中。我应该选择什么来代替 TransactionManager 的实现?或者com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple需要哪些 jar 文件?

   <!-- The JMS Bridge -->
   <bean name="JMSBridge" class="org.hornetq.jms.bridge.impl.JMSBridgeImpl">
           <constructor>
               <!-- Source ConnectionFactory Factory -->
               <parameter>
                   <inject bean="SourceCFF"/>
               </parameter>
               <!-- Target ConnectionFactory Factory -->
               <parameter>
                   <inject bean="TargetCFF"/>
               </parameter>
               <!-- Source DestinationFactory -->
               <parameter>
                   <inject bean="SourceDestinationFactory"/>
               </parameter>
               <!-- Target DestinationFactory -->
               <parameter>
                   <inject bean="TargetDestinationFactory"/>
               </parameter>
               <!-- Source username (no username here) -->
               <parameter><null /></parameter>
               <!-- Source password (no password here)-->
               <parameter><null /></parameter>
               <!-- Target username (no username here)-->
               <parameter><null /></parameter>
               <!-- Target password (no password here)-->
               <parameter><null /></parameter>
               <!-- Selector -->
               <parameter><null /></parameter>
               <!-- Interval to retry in case of failure (in ms) -->
               <parameter>5000</parameter>
               <!-- Maximum number of retries to connect to the source and target -->
               <parameter>10</parameter>
               <!-- Quality of service -->
               <parameter>ONCE_AND_ONLY_ONCE</parameter>
               <!-- Maximum batch size -->
               <parameter>1</parameter>
               <!-- Maximum batch time (-1 means infinite) -->
               <parameter>-1</parameter>
               <!-- Subscription name (no subscription name here)-->
               <parameter><null /></parameter>
               <!-- client ID  (no client ID here)-->
               <parameter><null /></parameter>
               <!-- concatenate JMS messageID to the target's message header -->
               <parameter>true</parameter>
               <!-- register the JMS Bridge in the JMX MBeanServer -->
               <parameter>
                   <inject bean="MBeanServer"/>
               </parameter>
               <parameter>org.hornetq:service=JMSBridge</parameter>
           </constructor>
           <property name="transactionManager">
               <inject bean="TransactionManager"/>
           </property>

           <!-- HornetQ JMS Server must be started before the bridge -->
           <depends>JMSServerManager</depends>

       </bean>
      <!-- TransactionManager -->
      <bean name="TransactionManager" class="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple">
       </bean>
4

2 回答 2

0

您可以在以下位置查看新的 HornetQ 书

HornetQ 消息传递开发者指南

于 2012-11-08T22:10:15.113 回答
0

我添加了这些 jar 文件并且错误消失了:

  1. jta.jar
  2. narayana-jta.jar
于 2012-11-10T10:12:37.787 回答