我使用的是基于JBoss4.2.3和jdk1.5.0_14的JMS,但是MDB池配置为最大大小为20,InProcessMessageCount的最大值仅为15。
我做了很多工作来利用队列中的消息消耗。我将maxSize的值修改为ejb3-interceptors-aop.xml文件中域中的“Message”中的20。此外,我还将<MaximumSize>的值修改为文件standardjboss.xml中的<message-driven-bean>部分中的80,但结果是队列上的15到16个并发处理。它似乎是jboss中的一个硬编码值。
发布于 2011-12-08 15:55:17
尝试在maxSize=15中增加对<domain name="Message Driven Bean">的池限制。
更新
一个线程解释最大池大小与maxSession参数的连接:https://community.jboss.org/message/549083#549083
因此,可以在ejb3-interceptors-aop.xml中为所有MDB增加最大池大小。然后,可以为选定的MDB增加maxSession,以实际提高吞吐量。
还有一种将maxSession从硬核注释外部化的方法:https://community.jboss.org/message/639955#639955
https://stackoverflow.com/questions/7928610
复制相似问题