maxMessages属性如何影响MDB? 例如:
@ActivationConfigProperty(propertyName = "maxMessages", propertyValue="5").
如果maxSessions为10,该值会如何影响?
答案 0 :(得分:2)
JBoss docs对此有点啰嗦,他们说MaxMessages被定义为
要等待的消息数 在尝试交付之前 会话,每条消息仍然是 在单独的交易中交付 (默认1)
我认为你想知道它是否会影响线程或并发会话的数量,而不是一次可以通过MDB,但似乎这个参数与该行为无关,所以没有冲突。
答案 1 :(得分:2)
我认为你很困惑,maxSessions
指的是可以同时向MDB传递消息的最大JMS会话数。
答案 2 :(得分:1)
在xml配置文件标准jboss.xml中,您可以设置Maximum Size来设置并发消息的数量。在这种情况下,我将其设置为150.但是,这会影响所有MDB。
<invoker-proxy-binding>
<name>message-driven-bean</name>
<invoker-mbean>default</invoker-mbean>
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
<proxy-factory-config>
<JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
<ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
<CreateJBossMQDestination>true</CreateJBossMQDestination>
<!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->
<MinimumSize>1</MinimumSize>
**<MaximumSize>150</MaximumSize>**
<KeepAliveMillis>30000</KeepAliveMillis>
<MaxMessages>1</MaxMessages>
<MDBConfig>
<ReconnectIntervalSec>10</ReconnectIntervalSec>
<DLQConfig>
<DestinationQueue>queue/DLQ</DestinationQueue>
<MaxTimesRedelivered>200</MaxTimesRedelivered>
<TimeToLive>0</TimeToLive>
</DLQConfig>
</MDBConfig>
</proxy-factory-config>
</invoker-proxy-binding>