|
Problem(Abstract) |
When using a message-driven bean (MDB) to get messages
from a IBM® WebSphere® MQ or embedded messaging queue, some messages take
significantly longer to be removed from the queue and processed by the
MDB. |
|
|
|
Cause |
The WebSphere Application Server message listener service
is instrumented so that the thread browsing the queue for messages skips a
message if all message consumers (MDBs) are busy or if the message has not
yet been committed to the queue. It returns to the skipped messages when
it rescans the queue. The problem is that by default, the thread waits
5000 milliseconds before rescanning the queue. |
|
|
Resolving the
problem |
Change the eoqTimeout value to 0. With this set,
the thread will not wait before rescanning the queue and processing the
messages.
Follow these instructions to set eoqTimeout to 0:
- Expand Servers, click on Application Servers, and then select your
server in the WebSphere administrative console.
- Select Process Definition.
- Select Java™ Virtual Machine.
- Select Custom Properties, and then click New.
- Add the property com.ibm.mq.jms.tuning.eoqTimeout with a
value of 0. The value of the eoqTimeout is in milliseconds. If it is set
to a value other than 0, the minimum value is 1000 milliseconds.
- Click OK and save your configuration.
- Restart the application server.
If you are using embedded messaging as the JMS Provider (available in V5.0
and V5.1 only), WebSphere Application Server V5.0.2 or higher must be used
for this solution to work. If you are using the full WebSphere MQ product,
it must be MQ 5.3 CSD 4 or higher.
If consistently slower MDB performance is observed as the number of
messages sent to the queue increases, increase the Maximum Sessions on the
listener port so that more messages are processed concurrently.
Use the solution described in this technote only if the problem is
intermittent and independent of load. |
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|