如何在standalone.xml中的<cluster-connections>中使用tag <address>?

时间:2015-12-15 14:40:59

标签: jboss jms wildfly-8

我正在尝试在wildfly中配置JMS群集。 我已经让队列工作了,但我在the docs读到了一个有趣的属性:

  

.address:每个群集连接仅适用于发送到以此值开头的地址的邮件。注意:这不使用通配符匹配。

据我所知,这允许我为不同的队列创建不同的集群。每个群集都会#34;听&#34;仅发送到以address属性中定义的值开头的给定地址的消息。 它引起了我的注意,我试图让它工作,所以我有两个队列:

<jms-queue name="ClusteredQueue">
    <entry name="java:/jms/queue/ClusteredQueue"/>
    <entry name="jms/queue/ClusteredQueue"/>
</jms-queue>
<jms-queue name="SecondClusteredQueue">
    <entry name="java:/jms/queue/SecondClusteredQueue"/>
    <entry name="queue/SecondClusteredQueue"/>
</jms-queue>

我尝试设置群集连接:

<cluster-connections>
    <cluster-connection name="my-cluster">
        <address>jms</address>
        <connector-ref>http-connector</connector-ref>
        <discovery-group-ref discovery-group-name="dg-group1"/>
    </cluster-connection>
</cluster-connections>

这很有效。

我不明白的是:在这句话中

  

...适用于发送到以此值开头的地址的消息...

&#34;地址&#34;

究竟是什么?

但是我只希望对一个队列进行聚类,但是我尝试的任何东西都会使两个队列都无法访问。 (发件人发送邮件,但是我的计算机上另一个Wildfly实例中的接收者从未收到它)

我尝试过的值:

  1. 取值
  2. 队列
  3. 如果地址是jms-queue.name,第一种情况应该导致SecondClusteredQueue接收,但不是ClusteredQueue 如果jms-queue.entry.name是地址,则示例2应该使SecondClusteredQueue接收,但不能接收ClusteredQueue。

    如前所述,在这两种情况下都没有队列收到消息。

    如果它有帮助,我的生产者会使用以下代码注入查询:

    @Resource(mappedName = "java:/jms/queue/ClusteredQueue")
    private transient Queue myQueue;
    
    @Resource(mappedName = "java:/queue/SecondClusteredQueue")
    private transient Queue myNewQueue;
    

    我的接收者(MDB)有以下注释:

    // ClusteredQueue的Receiver @MessageDriven(activationConfig = {         @ActivationConfigProperty(propertyName =&#34; destinationLookup&#34;,propertyValue =&#34; java:/ jms / queue / ClusteredQueue&#34;),         @ActivationConfigProperty(propertyName =&#34; destinationType&#34;,propertyValue =&#34; javax.jms.Queue&#34;)}) // Receiver for SecondClusteredQueue @MessageDriven(activationConfig = {         @ActivationConfigProperty(propertyName =&#34; destinationLookup&#34;,propertyValue =&#34; java:/ jms / queue / SecondClusteredQueue&#34;),         @ActivationConfigProperty(propertyName =&#34; destinationType&#34;,propertyValue =&#34; javax.jms.Queue&#34;)})

0 个答案:

没有答案