Author |
Message
|
ShanMan |
Posted: Mon Jan 29, 2007 12:34 pm Post subject: client connection via Perl |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 4 Location: Texas
|
I am more a Broker guy, and all my MQ Admin teammates left so I am alone in trying to figure out the admin side of things. Not easy.
Working with MQ 5.2 on Windows 2003. I have a Perl script that will connect to two clustered queue managers (usually on separate servers, when not failed over). I will run the script from one of the servers, so one QM is local, the other not. I tried connecting using MQCONN but it can only find the local QM. MQCONNX works for both QMs but it's restricting the MaxMsgLen somewhere (value returned is not that of the queue). I specify a SrvrConn channel when using MQCONNX.
The odd thing is that from my workstation (XP; MQ is installed), I can use MQCONN alone to connect to both remote QMs just fine, with no problems retrieving accurate MaxMsgLen of the queue. I wish I knew why it works when I run the script on my laptop but not when I run it on the server! Someone else set up much of the stuff on my laptop and everything on the servers. I would just like some help with troubleshooting or directions for where to look for resolutions.
Thanks
Shannon |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 29, 2007 12:56 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MaxMsgLn is negotiated to the lowest value of the Server Connection Channel and the Client Connection Channel.
Also there were some changes in v5.3 to the maxmsgln the client could handle. If I recall correctly. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ShanMan |
Posted: Mon Jan 29, 2007 1:03 pm Post subject: |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 4 Location: Texas
|
Argh, I am running v5.3 (CSD11). Sorry for misleading.
Sorry if this question has an obvious answer, but I am so confused by this problem it has me questioning a lot of things. Both the server conn channel and the client conn channel will be on the target QM, correct? By that I mean, the settings for MaxMsgLn that I need to look at are on those channels on the target QM?
Thanks
S |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 29, 2007 1:31 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The server conn will be defined on the target QM, yes.
The client conn is basically defined by MQCONNX, if you are using MQCONNX. If you're using MQCONN, then it's defined either by MQSERVER or by the client tables (which are built, usually, on the target qm).
So look at the options to MQCONNX and make sure you're setting the MaxMsgLn there to a number like 104857600, and then make sure the SVRCONN has it's MaxMsgLn set to something like that too. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ShanMan |
Posted: Mon Jan 29, 2007 2:20 pm Post subject: |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 4 Location: Texas
|
Hmm, I had not seen MaxMsgLn as a settable param to the MQCONNX call in documentation I've seen. I'll try looking that up. Currently my call is this:
Code: |
my $coption = { 'ChannelName' => $ConnChnl,
'ConnectionName' => $ConnName,
};
$conn = MQCONNX($QMgrName, { 'ClientConn' => $coption, }, $CompCode, $Reason);
|
|
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 29, 2007 2:49 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
ShanMan |
Posted: Mon Jan 29, 2007 2:54 pm Post subject: |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 4 Location: Texas
|
Sure enough, setting MaxMsgLength to a large number on the MQCONNX call (as well as setting the same value in the Server Conn Channel) fixed the problem. I wish I had known about that parameter sooner. Thanks!! |
|
Back to top |
|
 |
|