使用HornetQ的Glassfish JMS队列:本地存储和远程转发

时间:2014-04-14 03:48:51

标签: glassfish jms hornetq

对于以下场景,我需要一些精确的步骤(参考glassfish文档);

  • 如何创建JMS队列以支持“本地存储和远程存储”。远程系统是HornetQ。
  • 远程连接应支持SSL和用户/密码身份验证
  • 它应该支持重试#的自动重试和配置。
  • 如果发生任何故障,应该可以选择批量重发的jms消息

我已经阅读了一些玻璃鱼文档,但需要专家进一步验证。

简单场景但仍无法正常工作“将JMS发送到sourceQueue和JMS桥接服务以转移到targetQueue”。以下是配置;

一个。 domain.xml(提取)

<jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
    <jms-host host="localhost" name="default_JMS_host" lazy-init="false">
      <property name="imq.bridge.bridge1.type" value="jms"></property>
      <property name="imq.bridge.bridge1.xmlurl" value="file:///C:/TEMP/bridge.xml"></property>
      <property name="imq.bridge.bridge1.autostart" value="true"></property>
      <property name="imq.bridge.bridge1.logfile.limit" value="0"></property>
      <property name="imq.bridge.bridge1.logfile.count" value="1"></property>
      <property name="imq.bridge.enabled" value="true"></property>
      <property name="imq.bridge.admin.user" value="admin"></property>
      <property name="imq.bridge.admin.password" value="admin"></property>
      <property name="imq.bridge.activelist" value="bridge1"></property>
    </jms-host>
</jms-service>

B中。 bridge.xml(桥接配置)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jmsbridge SYSTEM "sun_jmsbridge_1_0.dtd">
<jmsbridge name="bridge1">
    <link name="link1">
        <enabled ="true"></enabled>
           <source connection-factory-ref=”jms/__defaultConnectionFactory" destination-ref="sourceQueue"></source>
     <target connection-factory-ref="jms/__defaultConnectionFactory" destination-ref="targetQueue "></target>
    </link>
    <connection-factory ref-name="jms/__defaultConnectionFactory"/>
    <connection-factory ref-name="jms/__defaultConnectionFactory"/>
    <destination ref-name="sourceQueue" type="queue" lookup-name="sourceQueue"/>
    <destination ref-name="targetQueue" type="queue" lookup-name="targetQueue"/>
</jmsbridge>

1 个答案:

答案 0 :(得分:0)

Glassfish部署Glassfish JMS服务器。如果你想与HornetQ交谈,你需要使用HornetQ库并使用适当的API(核心或JMS)与HornetQ服务器通信。

如果您需要通过MDB进行XA集成,则需要部署资源适配器并执行适当的恢复集成。请看一下如何部署外部资源适配器的glassFish ..但这是RedHat中没有人测试过的区域,并且鉴于glassFish的状态已经停止,我怀疑这种情况很快就会发生。

你可以做的另一种方法是在JBoss / HornetQ中部署JMS Bridge,在GlassFish JMS上发送的任何消息都将通过桥接过程在HornetQ上消耗。