Jms 2.0 Wildfly听远程话题(HornetQ)

时间:2016-10-16 13:59:16

标签: java-ee wildfly hornetq jms2

我在wildfly8.2实例中部署了一个war文件,其中包含两个JmsDestinationDefinitions,用于本地和远程访问同一主题:

@JMSDestinationDefinitions({
        @JMSDestinationDefinition(
                name= TopicDefinition.BOOKING_TOPIC,
                interfaceName = "javax.jms.Topic"
        ),
        @JMSDestinationDefinition(
                name= TopicDefinition.BOOKING_EXPORTED,
                interfaceName = "javax.jms.Topic"
        )
    }
)
public class TopicDefinition {
    public static final String BOOKING_TOPIC = "java:global/jms/bookingTopic";
    public static final String BOOKING_EXPORTED = "java:jboss/exported/jms/bookingTopic";
}

我部署了另一个war文件,其中一个消息驱动的bean注册到作为接收者的同一个应用服务器实例中的本地主题,它工作得很好。

我希望我可以在另一个使用注释指向远程目标的wildfly实例中部署类似的服务。

我在网上看到了一些看似过时或非常简洁的例子。 我希望我能做到这样的事情:

@MessageDriven(name = "ExportedTopicReceiver", mappedName = "jms/myTopic", activationConfig = {
        @ActivationConfigProperty(propertyName = "destinationLookup",
                propertyValue = "jms/bookingTopic"),
        @ActivationConfigProperty(propertyName="addressList",
                propertyValue="<myIp>:7676"),
        @ActivationConfigProperty(propertyName="destinationType",
                propertyValue="javax.jms.Topic"),
        @ActivationConfigProperty(propertyName="acknowledgeMode",
                propertyValue="Auto-acknowledge"),
        @ActivationConfigProperty(propertyName="subscriptionDurability",
                propertyValue="durable"),
        @ActivationConfigProperty(propertyName="clientId",
                propertyValue="myClientId")
})
public class TopicListenerExported implements MessageListener {
    ...
}

实际上我得到了这个部署警告:

ActivationConfigProperty addressList will be ignored since it is not allowed by resource adapter: hornetq-ra

这样做最直接的方法是什么?

我是否可以绕过用于访问远程目标的用户和密码的创建?

在网络上使用jms 2.0的任何最新示例?

由于

0 个答案:

没有答案