增加MDB'S实例

时间:2011-01-13 10:01:32

标签: java jboss java-ee ejb-3.0 jboss5.x

我使用的是jboss 5.1.x. 我试图增加我的mdb的实例。 但没有成功。

一些代码:

@MessageDriven(activationConfig = 
{ @ActivationConfigProperty(propertyName = "destinationType", propertyValue =  
"javax.jms.Queue"), 
 @ActivationConfigProperty(propertyName = "destination", propertyValue = 
 Constants.QUEUE_LOOKUP), 
 @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "50") 
} 

) 

public class ECMSDispatcherMdb implements MessageListener 
  { 
      ... 
   } 

现在,当我查看Console Admin,在Queues \ MyQueue树下:

 Consumer Count 1 The number of consumers on the queue 
 Message Count 0 The number of messages in the queue 
  • 消费者数量,仅保持为1.

任何想法有什么不对?或者我没有配置什么?

谢谢,

射线。

2 个答案:

答案 0 :(得分:1)

没错。一切都好。当他们无事可做时(队列中有0条消息),您不需要多个MDB实例。

如果您希望查看多个实例,我相信您必须执行某种负载测试以强制服务器创建其他实例。或者你可以更轻松地做到。将Thread.sleep(60000)添加到MDB。现在将2条消息推送到您的队列。

在这种情况下,每条消息的处理将花费1分钟,所以我猜服务器必须同时处理它们,这可能会迫使它创建额外的实例。

答案 1 :(得分:0)

通过创建一个实例并调用其onMessage(..)方法来处理MDB。那你为什么需要更多实例?