30.3. MDB およびコンシューマープールサイズ
JBoss を含むほとんどのアプリケーションサーバーでは、プール内の MDB の数を設定できます。
ejb3-interceptors-aop.xml ファイル内の MaxPoolSize パラメーターが、作成されるセッションまたはコンシューマーの数に影響を持たないことを理解することが重要です。これは、リソースアダプター実装がアプリケーションサーバー MDB 実装を認識しないためです。
たとえば、MDB
MaxPoolSize を 1 に設定すると、15 個のセッションまたはコンシューマーが作成されます (15 がデフォルト値)。作成されるセッションまたはコンシューマーの数を制限するには、リソースアダプターまたは MDBのActivationConfigProperty アノテーションで maxSession パラメーターを設定します。
@MessageDriven(name = "MDBMessageSendTxExample",
activationConfig =
{
@ActivationConfigProperty
(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty
(propertyName = "destination", propertyValue = "queue/testQueue"),
@ActivationConfigProperty
(propertyName = "maxSession", propertyValue = "1")
})
@TransactionManagement(value= TransactionManagementType.CONTAINER)
@TransactionAttribute(value= TransactionAttributeType.REQUIRED)
public class MyMDB implements MessageListener
{ ....}