Author |
Message
|
dudetom |
Posted: Wed Jul 18, 2018 6:12 am Post subject: Setting WMQ_CCDTURL in XMS and unmanaged mode doesn't work |
|
|
Apprentice
Joined: 29 Sep 2017 Posts: 45
|
I don't know why my question is deleted, but here we go again. It took me lots of time to find the root cause. It's disrespectful to just delete such a detailed question.. At least give feedback why the older topic is deleted...
-------------------------------------------------------------
I did a lot of reseach, and I'm stuck at a later phase now in our implementation as client ...
In short the requirements are:
SSL
Client app does Load-balancing. We need separate CCDT files in one application so we can handle all connections ourselves.
Unmanaged mode is used for SSL
XMS is used for asynchronous automatic consumption of incoming messages instead of polling the queue
IBM MQ Client V8.0.0.5 is used
We connect to 4 QMs. Everything is the same in the 4 connections except the port. QM name is '*'.
To configure separate CCDT files we can configure XMSC.WMQ_CCDTURL, but in unmanaged mode this is ingored. If I only change the connection mode to CLIENT mode (CT_WMQ) then it looks in the right configured directory. But when using unmanaged mode, this property is ignored.
This question is also asked here: https://www.ibm.com/developerworks/community/forums/html/topic?id=0268e8f5-8562-4b28-a621-32e20dee0c53
I try same settings, once with client mode and once with unmanaged mode. Event viewer gives different output related to CCDT. In unmanaged mode it looks for the default location.
Client mode event viewer event: http://pasted.co/27db600f (CCDT does not exist but it looks in the right directory which is good)
Unmanaged mode event viewer event: http://pasted.co/d5979a2c
Please help in setting separate CCDTURLs for these 4 separate connections. Don't ask me to use one CCDT with all the defined connection in it, that's not what we want because we want to do the load-balancing ourselves. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 18, 2018 6:24 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
dudetom wrote: |
Don't ask me to use one CCDT with all the defined connection in it, that's not what we want because we want to do the load-balancing ourselves. |
To expand on this a little, you'll find background in the OP's earlier post here
Also, as I think I mentioned in your earlier post, a CCDT with multiple connections doesn't load balance but connects to the first available connection described in the CCDT. So if you want to load balance client connections you need multiple CCDTs (as you've elected here) or a network level load balancing solution. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 18, 2018 6:31 am Post subject: Re: Setting WMQ_CCDTURL in XMS and unmanaged mode doesn't wo |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
dudetom wrote: |
I don't know why my question is deleted, but here we go again. It took me lots of time to find the root cause. It's disrespectful to just delete such a detailed question.. At least give feedback why the older topic is deleted... |
Hey, it's free forum software and we get what we pay for. Wait until you start getting your replies posted twice for an equal lack of reason.
And it is a very good problem description. Can I suggest you drop a link to this thread on your old one to stop suggestions on both? I felt the back link I added would stop some of the usual suspects reopening the "why not use a single CCDT" question, despite what you said. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 18, 2018 6:33 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
And to preempt a question of "why are you just posting and not helping", this is all the help I'm qualified to give on the language you're using.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jul 18, 2018 8:27 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Vitor wrote: |
Also, as I think I mentioned in your earlier post, a CCDT with multiple connections doesn't load balance but connects to the first available connection described in the CCDT. So if you want to load balance client connections you need multiple CCDTs (as you've elected here) or a network level load balancing solution. |
MQ CCDTs can load balance connections. Its controlled by the CLNTWGHT parameter only available on CLNTCONN channels. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 18, 2018 8:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
PeterPotkay wrote: |
Vitor wrote: |
Also, as I think I mentioned in your earlier post, a CCDT with multiple connections doesn't load balance but connects to the first available connection described in the CCDT. So if you want to load balance client connections you need multiple CCDTs (as you've elected here) or a network level load balancing solution. |
MQ CCDTs can load balance connections. Its controlled by the CLNTWGHT parameter only available on CLNTCONN channels. |
It's a heck of a week for me learning new things through this forum  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 18, 2018 6:09 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Review your environment variables and delete them if you have MQCHLLIB or MQCHLTAB set.
Make sure to only use the MQCCDTURL (depending on your MQ level).
Best pass the CCDTURL to the properties on your XMS connection factory...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
dudetom |
Posted: Wed Jul 18, 2018 10:43 pm Post subject: |
|
|
Apprentice
Joined: 29 Sep 2017 Posts: 45
|
I unset every environment variable, the mqclient.ini file is empty.
I tried with latest IBM MQ client version v 9.0.5. But still CCDTURL is ingored... Please can someone create a PMR for this because I don't have a IBM Customer ID... :help:
This is what I try:
var factory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
cf = factory.CreateConnectionFactory();
cf.SetStringProperty(XMSC.WMQ_CCDTURL, "file:///C:/AMQCLCHL1414.TAB");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "*");
This should work right? :-?
Tried a lot of different formatting on CCDTURL, nothing works.. Can someone create a PMR for this please ... |
|
Back to top |
|
 |
dudetom |
Posted: Thu Jul 19, 2018 12:32 am Post subject: |
|
|
Apprentice
Joined: 29 Sep 2017 Posts: 45
|
I clearly see it checks all possible places for the CCDT:
This tracing of XMS and CCDTURL set:
----------
000019C3 10:25:37.155234 5188.1 RSESS:000001 xcsGetEnvironmentString[MQSERVER] = NULL
000019C4 10:25:37.155242 5188.1 RSESS:000001 --------}! xcsGetEnvironmentString (rc=xecE_E_ENV_VAR_NOT_FOUND)
000019C5 10:25:37.155247 5188.1 RSESS:000001 --------{ xcsGetEnvironmentString
000019C6 10:25:37.155254 5188.1 RSESS:000001 xcsGetEnvironmentString[MQCCDTURL] = NULL
000019C7 10:25:37.155261 5188.1 RSESS:000001 --------}! xcsGetEnvironmentString (rc=xecE_E_ENV_VAR_NOT_FOUND)
000019C8 10:25:37.155266 5188.1 RSESS:000001 --------{ xcsGetEnvironmentString
000019C9 10:25:37.155271 5188.1 RSESS:000001 xcsGetEnvironmentString[MQCHLLIB] = NULL
000019CA 10:25:37.155278 5188.1 RSESS:000001 --------}! xcsGetEnvironmentString (rc=xecE_E_ENV_VAR_NOT_FOUND)
----------
first MQSERVER
then CCDTURL
then MQCHLLIB
finally the default location
Unfortunately it doesn't catch the CCDTURL property that I've set |
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Jul 19, 2018 12:44 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
dudetom wrote: |
000019C6 10:25:37.155254 5188.1 RSESS:000001 xcsGetEnvironmentString[MQCCDTURL] = NULL
000019C7 10:25:37.155261 5188.1 RSESS:000001 --------}! xcsGetEnvironmentString (rc=xecE_E_ENV_VAR_NOT_FOUND)
Unfortunately it doesn't catch the CCDTURL property that I've set |
Are you setting CCDTURL or MQCCDTURL?
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
dudetom |
Posted: Sun Jul 22, 2018 4:16 am Post subject: |
|
|
Apprentice
Joined: 29 Sep 2017 Posts: 45
|
cf.SetStringProperty(XMSC.WMQ_CCDTURL, "file:///C:/AMQCLCHL1414.TAB"); |
|
Back to top |
|
 |
|