2009-06-26 4 views

ответ

2

JBoss docs немного мохнатый на это, они говорят, что MaxMessages определяется как

Количество сообщений ждать перед попыткой доставки сессии , каждое сообщение по-прежнему поставляется в отдельной транзакция (по умолчанию 1)

Я думаю, что если вам интересно, если это влияет на количество потоков или одновременных сеансов, чем может пройти через MDB в одно время, но, кажется, этот ра Этот параметр не связан с этим поведением, и поэтому конфликта нет.

2

Я думаю, вы смущены, maxSessions ссылаются на максимальное количество сеансов JMS, которые могут одновременно доставлять сообщения в MDB.

1

В файле xml confi standardjboss.xml вы должны установить MaximumSize для установки количества одновременных сообщений. В этом случае я установил значение 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>