使JBoss EAP 5.1中的特定MDB可配置maxSession属性

Pra*_*jit 5 java jboss jms message-driven-bean jboss6.x

如何为MDB用户配置maxSession值?

有一个MDB可以侦听来自特定队列的消息.它被定义为注释.

@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "5").

为了更改maxSession的值,必须每次都编译代码.

有没有办法让用户可配置,以便不需要构建并且无需重新启动jboss?

请帮助.

Vad*_*zim 4

这是从耳朵外部化此设置的方法:

https://community.jboss.org/thread/178162

但仍然需要重启。

更新

找到了一种通过系统属性引用应用新 maxSession 的方法ejb-jar.xml

<activation-config-property>
   <activation-config-property-name>maxSession</activation-config-property-name>
   <activation-config-property-value>${my.mdb.maxSession:30}</activation-config-property-value>
</activation-config-property>
Run Code Online (Sandbox Code Playgroud)

不需要完全重新启动 JBoss,在这种情况下只需要重新部署 Ear。

它适用于JBoss AS 7之前的所有 JBoss 版本。

请注意,maxSession 必须与最大池大小同步: https://community.jboss.org/message/549083#549083