Configuring MDB or SCA throttling for the default messaging provider
Use this task to configure the throttling of messages for message-driven beans or Service Component Architecture (SCA) composites that you have deployed as JCA 1.5 resources on the default messaging provider.
Before you begin
The throttling support described in this topic only applies to the default messaging provider (the service integration JMS Resource Adapter).
For the WebSphere MQ messaging provider, you configure message throttling by setting the maximum server sessions property on the WebSphere MQ messaging provider activation specifications panel, or the maxPoolSize property when using the createWMQActivationSpec or modifyWMQActivationSpec wsadmin commands.
If you have a third-party JCA 1.5-compliant JMS messaging provider, refer to the generic method of message throttling described in Throttling inbound message flow for JCA 1.5 message-driven beans.
About this task
Use this task if you want to throttle messages for a message-driven bean or SCA composite deployed as a J2EE Connector Architecture (JCA) 1.5 resource on the default messaging JMS provider.
The default messaging provider (the service integration JMS Resource Adapter) uses a special type of message throttling. You can leave the message-driven bean pools to the default size of 500.
- The maximum number of instances of each message-driven
bean or
SCA composite is controlled by the Maximum concurrent endpoint setting
in the activation specification used to deploy the message-driven
bean or SCA composite. This maximum concurrency limit helps prevent
a temporary build up of messages from starting too many MDB or SCA
instances. By default, the maximum number of concurrent MDB or SCA
instances is set to 10.
The Maximum concurrent endpoints field limits the number of endpoints (instances of a given message-driven bean or SCA composite) that process messages concurrently. If the maximum has been reached, new messages are not accepted from the messaging engine for delivery until an endpoint finishes its current processing.
If the available message count (queue depth) associated with a message-driven bean or SCA composite is frequently high, and if your server can handle more concurrent work, you can benefit from increasing the maximum concurrency setting.
If you set the maximum concurrency for a message-driven bean or SCA composite, be sure that you specify a value smaller than the maximum number of endpoint instances that can be created by the adapter that the message-driven bean or SCA composite is bound to. If necessary, increase the endpoint instance limit.
- An activation specification also has a Maximum batch size that refers to how many messages can be allocated to an endpoint in one batch for serial delivery. So, for example, if you have set the Maximum concurrent endpoints property to 10 and the Maximum batch Size property to 3, then there can be up to 10 endpoints each processing up to 3 messages giving a total of 30 messages allocated to that message-driven bean or SCA composite. If there are multiple message-driven beans or SCA composites deployed against a single activation specification then these maximum values apply to each message-driven bean or SCA composite individually.
- Take care to ensure that you always set the Maximum concurrent endpoints property is always less than the JCA pool size.
To configure the message throttling support of the default messaging provider (the service integration bus JMS Resource Adapter), use the administrative console to complete the following steps.