使用来自MULTIPLE Remote Server的消息的EJB模块

时间:2013-01-10 18:59:14

标签: java-ee ejb

我正在创建一个使用来自远程服务器的消息的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" )

但它不起作用。

什么是正确的方法?

2 个答案:

答案 0 :(得分:1)

每个MDB一次只能监听一个资源。

作为一种变通方法,您可以尝试在部署描述符文件中配置它,其中将配置单个MDB以侦听多个远程主题。

摘自MDB的Weblogic文档:

  

如果您的应用程序需要单个JMS使用者来为消息提供服务   从多个队列或主题,您必须使用标准的JMS使用者,   或部署多个消息驱动的bean类。

答案 1 :(得分:0)

您还可以创建多个MDB,然后将其传入的消息转发到同一个业务组件。所以你的MDB不会真正处理任何事情,只收集信息。