I upgraded the developer to CSD05, but still no luck.

I looked in the Java MQ manual and found a class called MQChannelDefinition.
This class has a variable called maxMessageLength.

maxMessageLength
public int maxMessageLength
The maximum length of message that can be sent to the queue manager.


I assume this is a variable that can be set in Java.

So, since the .NET classes are very similar to the Java classes, I looked in
the .NET manual for it. The only mention of this class is on the first page
of Chapter 4 of the .NET manual. It only says the class is available, but
gives no mention of its supported variables.

But the class is just not there when you try and access it in the code.

I have opened up a ticket with IBM.



-----Original Message-----
From: Potkay, Peter M (PLC, IT) [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 12, 2003 3:09 PM
To: [EMAIL PROTECTED]
Subject: VB.NET clients limited to 4 MEG?


I have a client at 5.3 CSD04 with the .NET support pack (Next we week we
will upgrade him to CSD05 and the supported classes).

Anyway, it seems we can't get a message larger then 4 MEG thru.

The QM, the SVRCONN channel and the queue are all at 104857600 for Max
Message Length.

It keeps throwing a 2010 Error (MQRC_DATA_LENGTH_ERROR). From the Error
manual, this means:
The DataLength parameter is not valid. Either the parameter pointer is not
valid, or it points
to read-only storage. (It is not always possible to detect parameter
pointers that are not valid;
if not detected, unpredictable results occur.)
This reason can also be returned to an MQ client program on the MQGET,
MQPUT, or
MQPUT1 call, if the BufferLength parameter exceeds the maximum message size
that was
negotiated for the client channel.
Corrective action: Correct the parameter.
If the error occurs for a WebSphere MQ client program, also check that the
maximum message
size for the channel is big enough to accommodate the message being sent; if
it is not big
enough, increase the maximum message size for the channel.


The app returns some info that shows the MaxMessageLength is 4194304. Since
this info in the display is between the IPROCS count and the current depth,
we assume it means the queue.

So, I made the MAX on the queue 12345, and the SVRCONN channel 3000000. Now
the app returns that the max is 12345.

Next, I made the MAX on the queue 4000000, and the SVRCONN channel was left
at 3000000. Now the app returns that the max is 3000000!

Finally I made both the queue and the SVRCONN channel 5000000, and the app
retuned the MAX as 4194304.

MQSERVER variable is not set. The app is building the MQEnvironment class.



Why the artificial limit at 4 MEG?




Peter Potkay
MQSeries Specialist
The Hartford Financial Services
[EMAIL PROTECTED]
x77906
IBM MQSeries Certified




This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If
you are not the intended recipient, please notify the sender
immediately by return email and delete this communication and destroy all
copies.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to