The MQ Transport is a polling transport. At the user defined interval, a polling thread, fired by a timer, checks for new messages to process on a designated queue. If messages are found, a number of worker thread requests are scheduled to execute via the WebLogic work scheduler. Each of these worker threads will get messages from the queue and initiate the processing of a proxy service.
The number of worker threads to schedule is based on the following factors:The queue depth
If a work manager is not assigned to the proxy service, it will use the WLS Default work manager and if a Max Threads Constraint has not been defined for the Default work manager it will use 16 as a default value. Therefore, without any tuning, the default will result in a maximum of 16 threads concurrently processing for a given MQ Proxy service. In order to change this, define a new work manager with the desired max thread constraint and assign it to the proxy service via its dispatch policy setting.