如何在WildFly 10中动态更改JMS队列MDB池大小

时间:2016-11-25 13:28:01

标签: java jms wildfly wildfly-10 activemq-artemis

我正在使用WildFly 10.1,它与Artemis一起作为新的JMS提供程序提供,但我无法找到如何动态更改特定MDB的使用者线程数。

我有一个队列,一个消息监听器(MDB)消耗来自队列的消息,现在我想动态控制域必须启动的最大消费者线程数。

如何使用CLI执行此操作?

1 个答案:

答案 0 :(得分:1)

如果您想为特定 MDB执行此配置,您可以先将其分配给专用池。请参阅this answer

然后,要动态更新池属性,您可以查看this article,其中介绍了如何使用jboss-cli或standalone.xml配置配置或添加ejb3池。 (使用JBOSS 7,但它与Wildfly 10不应该如此不同)

然后可以使用以下jboss-cli命令动态修改池大小,因为MDB默认为20:

/subsystem=ejb3/strict-max-bean-instance-pool=myPool:write-attribute(name=max-pool-size)

最后,您似乎还必须在MDB中相应地配置“maxSession”激活配置属性。有关上下文配置,请参阅this threadthis question