我正在创建一个使用来自远程服务器的消息的EJB模块;我正在使用此代码:
@MessageDriven(mappedName = "jms/Topic", activationConfig = {
@ActivationConfigProperty(propertyName = "addressList", propertyValue = "192.168.31.10" )
, @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge")
, @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic")
}
它有效。 现在我会收到多个远程服务器;我在想这样的事情:
@ActivationConfigProperty(propertyName = "addressList", propertyValue = "192.168.31.10 , 192.168.31.11 , 192.168.31.12" )
但它不起作用。
什么是正确的方法?
答案 0 :(得分:1)
每个MDB一次只能监听一个资源。
作为一种变通方法,您可以尝试在部署描述符文件中配置它,其中将配置单个MDB以侦听多个远程主题。
摘自MDB的Weblogic文档:
如果您的应用程序需要单个JMS使用者来为消息提供服务 从多个队列或主题,您必须使用标准的JMS使用者, 或部署多个消息驱动的bean类。
答案 1 :(得分:0)
您还可以创建多个MDB,然后将其传入的消息转发到同一个业务组件。所以你的MDB不会真正处理任何事情,只收集信息。