|
Problem(Abstract) |
If an IBM® WebSphere® Application Server V5 application
utilizing Embedded Messaging attempts to send a message larger than the
default size of 4194304 bytes (4 megabytes) to a queue, the MQJMS2007
exception with Reason Code 2030 will be thrown:
MQJMS2007: failed to send message to MQ queue
at
com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:540)
at com.ibm.mq.jms.MQQueueSender.sendInternal(MQQueueSender.java:824)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:239)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:272)
...
---- Begin backtrace for Nested Throwables
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2030
at com.ibm.mq.MQQueue.putMsg2(MQQueue.java:1444)
at com.ibm.mq.jms.MQQueueSender.sendInternal(MQQueueSender.java:804)
... |
|
|
|
Cause |
By default, a queue defined with WebSphere Application
Server V5 Embedded Messaging only accepts messages smaller than 4
megabytes. |
|
|
Resolving the
problem |
To resolve the problem, increase the maximum message
length (MAXMSGL) property of the queue in the Embedded queue manager. The
maximum possible value will be the MAXMSGL setting for the queue manager,
which is 104857600 bytes for the Embedded queue manager.
Follow these steps to increase this value:
- Run the runmqsc command line tool: runmqsc
WAS_nodename_servername, where nodename is your
WebSphere node name and servername is your application server name,
or jmsserver if the node has been federated to a cell.
- Issue the command: alter ql ('WQ_queuename') maxmsgl(x),
where queuename is the name of the queue and x is the
desired value (in bytes) for the MAXMSGL property.
For example:
runmqsc WAS_aixstagenode1_jmsserver
alter ql('WQ_IMACS_BATCH_CommissionQueue') maxmsgl(10000000) |
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|