Author |
Message
|
javaforvivek |
Posted: Wed Sep 15, 2004 2:55 am Post subject: Changing Message Length of the input queue |
|
|
 Master
Joined: 14 Jun 2002 Posts: 282 Location: Pune,India
|
Hi,
I am using WMQ5.3
I am trying to put a very large message of size 60MB on a local queue.
I have changed Maximum Message Length property for Queue and SVRCONN to 99MB. Still I am not able to put the message. Are there any other settings I need to modify?? _________________ Vivek
------------------------------------------------------
...when you have eliminated the impossible, whatever remains, however improbable, must be the truth. |
|
Back to top |
|
 |
JasonE |
Posted: Wed Sep 15, 2004 3:33 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
|
Back to top |
|
 |
Manikandan |
Posted: Wed Sep 15, 2004 3:47 am Post subject: |
|
|
Voyager
Joined: 07 Jul 2004 Posts: 78
|
You will also have to check the Qmgr limitation too! |
|
Back to top |
|
 |
Nigelg |
Posted: Wed Sep 15, 2004 4:40 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
You cannot do this if you are using the MQSERVER method of connecting the client. Tihs uses the default MAXMSGL of 4Mb and cannot be changed. EITHER:
Create a CLNTCONN channel with a MAXMSGL of 99MB and copy the AMQCLCHL.TAB file to the client
OR:
Connect to the qmgr using MQCONNX and pass an MQCD to MQCONNX, where the MAXMSGL is 99Mb. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Sep 15, 2004 9:40 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Nigelg,
Yes, you CAN use MQSERVER and send messages larger than 4MB.
There are 3 steps that need to be done to allow 99MB messages (99MB = 103809024):
Code: |
ALTER QMGR MAXMSGL(103809024)
ALTER CHL(TESTQM_SVR.CH01) CHLTYPE(SVRCONN) MAXMSGL(103809024)
ALTER Q(TEST1) MAXMSGL(103809024) |
Done. Now your client application can connect to the 'TESTQM_SVR.CH01' SVRCONN channl and put messages up to 99MB in size.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
csmith28 |
Posted: Wed Sep 15, 2004 1:01 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
You have to modify the MAXMSGL for the QManager itself, the SYSTEM.DEAD.LETTER.QUEUE the SRVCONN channel and any other channels that message will hit along with any local Queues that the message will encounter. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
kirani |
Posted: Wed Sep 15, 2004 3:33 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Don't forget the Max length on Transmission Queue. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Sep 15, 2004 7:54 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
csmith28 & kirani,
The original question asked about the length of a local queue & svrconn channel. So, you only need to do the 3 steps I listed.
But if his question had been for a remote queue & a svrconn channel then it is true that both the transmission queue and the dead letter queue's max size would need to be increased (DLQ of the REMOTE queue manager.)
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
javaforvivek |
Posted: Wed Sep 15, 2004 9:53 pm Post subject: |
|
|
 Master
Joined: 14 Jun 2002 Posts: 282 Location: Pune,India
|
Hi,
Thanks for all the suggestions, and I am able to put a message on the queue.
Also, thanks for the extensions suggested for using remote queue definitions for such large messages. _________________ Vivek
------------------------------------------------------
...when you have eliminated the impossible, whatever remains, however improbable, must be the truth. |
|
Back to top |
|
 |
javaforvivek |
Posted: Wed Sep 15, 2004 10:02 pm Post subject: |
|
|
 Master
Joined: 14 Jun 2002 Posts: 282 Location: Pune,India
|
Hi,
In connection with my earlier reply,
My application uses MQBase-Java client to put message to the queue. As the file is of size 60MB, when I try to use following code,
Code: |
xmlFile = new File(filePath + fileName);
RandomAccessFile xmlRandomFile = new RandomAccessFile(xmlFile,"rw");
StringBuffer xmlBuffer = new StringBuffer();
String line = xmlRandomFile.readLine();
while(line != null)
{
xmlBuffer.append(line);
line = xmlRandomFile.readLine();
}
xmlRandomFile.close();
MQMessage localMsg = new MQMessage();
localMsg.writeString(xmlBuffer.toString());
|
It gives OutOfMemory Error.
What code should I include to have Segmentation of Message (physical message size 4MB each)?
Is it available in the Code Repository here? _________________ Vivek
------------------------------------------------------
...when you have eliminated the impossible, whatever remains, however improbable, must be the truth. |
|
Back to top |
|
 |
PGoodhart |
Posted: Thu Sep 16, 2004 4:16 am Post subject: |
|
|
Master
Joined: 17 Jun 2004 Posts: 278 Location: Harrisburg PA
|
You are actually having issues with the buffer in Java now. This is not truly an MQ issue. Do you have 60MB of free memory allocated to the JVM? _________________ Patrick Goodhart
MQ Admin/Web Developer/Consultant
WebSphere Application Server Admin |
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Sep 16, 2004 12:36 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Yes, you have a memory issue. The default heap size for a JVM is 64MB (I think). So you should increase the minimum (Xms) and the maximum (Xmx) heap size to whatever you requre.
Time to read the JVM options manual.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
|