Re: A program the uses MQSeries Client and Server libraries
Can anyone tell me how to do this in VB. Thanks Faizel Sedick Woolworths Integration IBM MQSeries Certified Specialist, Developer Solutions Expert Email: [EMAIL PROTECTED] Phone: +27 021 407 2452 Cell: +27 083 251 9361 email: [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, 30 September 2003 06:15 PM To: [EMAIL PROTECTED] Subject: Re: A program the uses MQSeries Client and Server libraries I suggest, if you follow this technique, you load the Server Libs first, since it is not unusual to install both libraries. John Scott [EMAIL PROTECTED]To: [EMAIL PROTECTED] .CO.UK cc: Sent by: MQSeriesSubject: Re: A program the uses MQSeries Client and Server libraries List [EMAIL PROTECTED] n.AC.AT 09/30/2003 12:51 PM Please respond to MQSeries List Yes it is possible to do this using the base MQI (MQCONN, MQOPEN, MQPUT etc.). We do this on both NT, AIX and Solaris platforms. You need to look at www.mqseries.net and do a search in the software repository for either ntloadmq, sunloadmq and slloadmq (for AIX). These will give you ideas on how to dynamically load the MQ libraries. Basically, the extension I did to this was to try and load the mqserver library first. If that fails, drop down and look for mqclient. If that fails it's game over. Hope this helps. John Scott IBM Certified Specialist - MQSeries Argos Ltd -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: 30 September 2003 15:03 To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 ** Click here to visit the Argos home page http://www.argos.co.uk The information contained in this message or any of its attachments may be privileged and confidential, and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you are not the intended addressee, any disclosure, reproduction, distribution, dissemination or use of this communication is not authorised. If you have received this message in error, please advise the sender by using your reply facility in your e-mail software. All messages sent and received by Argos Ltd are monitored for virus, high risk file extensions, and inappropriate content. As a result users should be aware that mail maybe accessed. ** 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 This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Chase Co., its subsidiaries and affiliates. 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 Please note: This e-mail and its contents are subject to a disclaimer which can be viewed at http://www.woolworths.co.za/disclaimer. Should you be unable to access the link please e-mail [EMAIL PROTECTED] and a copy of the disclaimer will be e-mailed to you. Instructions for managing your mailing list subscription are provided in the Listserv General Users
Re: A program the uses MQSeries Client and Server libraries
The problem with VB is that you can't store pointers to functions and then call them in the same way you can from C. You could write a small DLL in C that provides the MQCONN etc. entry points and then calls the actual entry points in mqm.dll or mqic.dll based on the discussion below. Regards John Scott IBM Certified Specialist - MQSeries Argos Ltd -Original Message- From: Faizel Sedick [mailto:[EMAIL PROTECTED] Sent: 16 October 2003 09:12 To: [EMAIL PROTECTED] Subject: Re: A program the uses MQSeries Client and Server libraries Can anyone tell me how to do this in VB. Thanks Faizel Sedick Woolworths Integration IBM MQSeries Certified Specialist, Developer Solutions Expert Email: [EMAIL PROTECTED] Phone: +27 021 407 2452 Cell: +27 083 251 9361 email: [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, 30 September 2003 06:15 PM To: [EMAIL PROTECTED] Subject: Re: A program the uses MQSeries Client and Server libraries I suggest, if you follow this technique, you load the Server Libs first, since it is not unusual to install both libraries. John Scott [EMAIL PROTECTED]To: [EMAIL PROTECTED] .CO.UK cc: Sent by: MQSeriesSubject: Re: A program the uses MQSeries Client and Server libraries List [EMAIL PROTECTED] n.AC.AT 09/30/2003 12:51 PM Please respond to MQSeries List Yes it is possible to do this using the base MQI (MQCONN, MQOPEN, MQPUT etc.). We do this on both NT, AIX and Solaris platforms. You need to look at www.mqseries.net and do a search in the software repository for either ntloadmq, sunloadmq and slloadmq (for AIX). These will give you ideas on how to dynamically load the MQ libraries. Basically, the extension I did to this was to try and load the mqserver library first. If that fails, drop down and look for mqclient. If that fails it's game over. Hope this helps. John Scott IBM Certified Specialist - MQSeries Argos Ltd -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: 30 September 2003 15:03 To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 ** Click here to visit the Argos home page http://www.argos.co.uk The information contained in this message or any of its attachments may be privileged and confidential, and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you are not the intended addressee, any disclosure, reproduction, distribution, dissemination or use of this communication is not authorised. If you have received this message in error, please advise the sender by using your reply facility in your e-mail software. All messages sent and received by Argos Ltd are monitored for virus, high risk file extensions, and inappropriate content. As a result users should be aware that mail maybe accessed. ** 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 This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Chase Co., its subsidiaries and affiliates. Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com Archive
Re: A program the uses MQSeries Client and Server libraries
T.Rob, This is good advice and I agree whole heartedly that the application programmer must deal with 2009 reason codes correctly and perform message operations in syncpoint if you need to ensure 100% reliability. However, I do not agree that this is a client thing. Exactly the same decisions must be taken in the server application. There is no difference between the transactional programming model on the client and on the server. (except perhaps XA transactions and let's not start that debate). The only difference in the client is that the windows and opportunities for getting a 2009 are somewhat larger because you have a TCP socket in the way. Cheers, P. Paul G Clarke WebSphere MQ Development IBM Hursley |-+--- | | Wyatt, T. Rob | | | [EMAIL PROTECTED]| | | MERICA.COM | | | Sent by: MQSeries | | | List| | | [EMAIL PROTECTED]| | | C.AT | | | | | | | | | 30/09/2003 16:27| | | Please respond to | | | MQSeries List | | | | |-+--- --| | | | To: [EMAIL PROTECTED] | | cc: | | Subject: Re: A program the uses MQSeries Client and Server libraries | | | | | --| Jeff, Sorry, not going to answer your question but have some related advice. Yes, it is true that you can write code that runs the same on client and server bindings. Just be sure to write the code to the more rigorous standards required for a client. Specifically, you want to do everything under syncpoint and figure out how to handle the 2009 return code. A 2009 means that your connection to the QMgr was lost. The problem is that you do not know whether it was lost BEFORE the MCA got your request or AFTER. So, for example, if you get a 2009 on a PUT, the call may have worked, or it may not. If you are making your calls under syncpoint you can be assured the PUT will be rolled back if you get a 2009. Under syncpoint, the only exposure is if you get a 2009 on a COMMIT. In this case, your messages MAY have been committed or MAY NOT. When your program reconnects, it has no way of knowing so you have to decide - do I redo any PUT and GET activity or not? If the application tolerates dupes well, you can just restart the previous transaction and repeat any PUT or GET activity. We found a bug under MQ 5.3 where the listener threw 2009 on a GET with convert but inetd handled it fine. This problem went away when we moved to the latest client. -- T.Rob -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 30, 2003 11:03 AM To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 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
Re: A program the uses MQSeries Client and Server libraries
Paul, I would assume that if I am running, in server mode, and have a resource coordinator, CICS, RRDS, etc and the connection is broken the coordinated resources, MQ, DB2, VSAM, are backed-out/ comitted correctly?? Is there something I am missing. I / we do some progmatical tricks (?) when it comes to no-coordinated processing. That is a given. BUT.? bobbee From: Paul Clarke [EMAIL PROTECTED] Reply-To: MQSeries List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: A program the uses MQSeries Client and Server libraries Date: Thu, 2 Oct 2003 10:32:59 +0100 T.Rob, This is good advice and I agree whole heartedly that the application programmer must deal with 2009 reason codes correctly and perform message operations in syncpoint if you need to ensure 100% reliability. However, I do not agree that this is a client thing. Exactly the same decisions must be taken in the server application. There is no difference between the transactional programming model on the client and on the server. (except perhaps XA transactions and let's not start that debate). The only difference in the client is that the windows and opportunities for getting a 2009 are somewhat larger because you have a TCP socket in the way. Cheers, P. Paul G Clarke WebSphere MQ Development IBM Hursley |-+--- | | Wyatt, T. Rob | | | [EMAIL PROTECTED]| | | MERICA.COM | | | Sent by: MQSeries | | | List| | | [EMAIL PROTECTED]| | | C.AT | | | | | | | | | 30/09/2003 16:27| | | Please respond to | | | MQSeries List | | | | |-+--- --| | | | To: [EMAIL PROTECTED] | | cc: | | Subject: Re: A program the uses MQSeries Client and Server libraries | | | | | --| Jeff, Sorry, not going to answer your question but have some related advice. Yes, it is true that you can write code that runs the same on client and server bindings. Just be sure to write the code to the more rigorous standards required for a client. Specifically, you want to do everything under syncpoint and figure out how to handle the 2009 return code. A 2009 means that your connection to the QMgr was lost. The problem is that you do not know whether it was lost BEFORE the MCA got your request or AFTER. So, for example, if you get a 2009 on a PUT, the call may have worked, or it may not. If you are making your calls under syncpoint you can be assured the PUT will be rolled back if you get a 2009. Under syncpoint, the only exposure is if you get a 2009 on a COMMIT. In this case, your messages MAY have been committed or MAY NOT. When your program reconnects, it has no way of knowing so you have to decide - do I redo any PUT and GET activity or not? If the application tolerates dupes well, you can just restart the previous transaction and repeat any PUT or GET activity. We found a bug under MQ 5.3 where the listener threw 2009 on a GET with convert but inetd handled it fine. This problem went away when we moved to the latest client. -- T.Rob -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 30, 2003 11:03 AM To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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
Re: A program the uses MQSeries Client and Server libraries
bobbee, Like I said in my note I don't really want to get into an XA debate. XA is not *that* different from the single transactional case. If you lose your connection you will generally be backed out on the server. XA is two phase though and if you lose your connection after the 'prepare' phase then the server (ie MQ) can't arbitrarily decide to back it out. The coordinator must resolve the transaction the next time the server comes online. I don't understand your 'is there something I am missing' question. Do you have a specific question in mind ? Cheers, P. Paul G Clarke WebSphere MQ Development IBM Hursley |-+- | | Robert Broderick | | | [EMAIL PROTECTED]| | | otmail.com | | | Sent by: MQSeries | | | List | | | [EMAIL PROTECTED]| | | .AC.AT | | | | | | | | | 02/10/2003 12:17 | | | Please respond to | | | MQSeries List | | | | |-+- --| | | | To: [EMAIL PROTECTED] | | cc: | | Subject: Re: A program the uses MQSeries Client and Server libraries | | | | | --| Paul, I would assume that if I am running, in server mode, and have a resource coordinator, CICS, RRDS, etc and the connection is broken the coordinated resources, MQ, DB2, VSAM, are backed-out/ comitted correctly?? Is there something I am missing. I / we do some progmatical tricks (?) when it comes to no-coordinated processing. That is a given. BUT.? bobbee From: Paul Clarke [EMAIL PROTECTED] Reply-To: MQSeries List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: A program the uses MQSeries Client and Server libraries Date: Thu, 2 Oct 2003 10:32:59 +0100 T.Rob, This is good advice and I agree whole heartedly that the application programmer must deal with 2009 reason codes correctly and perform message operations in syncpoint if you need to ensure 100% reliability. However, I do not agree that this is a client thing. Exactly the same decisions must be taken in the server application. There is no difference between the transactional programming model on the client and on the server. (except perhaps XA transactions and let's not start that debate). The only difference in the client is that the windows and opportunities for getting a 2009 are somewhat larger because you have a TCP socket in the way. Cheers, P. Paul G Clarke WebSphere MQ Development IBM Hursley |-+--- | | Wyatt, T. Rob | | | [EMAIL PROTECTED]| | | MERICA.COM | | | Sent by: MQSeries | | | List| | | [EMAIL PROTECTED]| | | C.AT | | | | | | | | | 30/09/2003 16:27| | | Please respond to | | | MQSeries List | | | | |-+--- --| | | | To: [EMAIL PROTECTED] | | cc: | | Subject: Re: A program the uses MQSeries Client and Server libraries | | | | | --| Jeff, Sorry, not going to answer your question but have some related advice. Yes, it is true that you can write code that runs the same on client and server bindings. Just be sure to write the code to the more rigorous standards required
A program the uses MQSeries Client and Server libraries
We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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
Re: A program the uses MQSeries Client and Server libraries
Jeff, Sorry, not going to answer your question but have some related advice. Yes, it is true that you can write code that runs the same on client and server bindings. Just be sure to write the code to the more rigorous standards required for a client. Specifically, you want to do everything under syncpoint and figure out how to handle the 2009 return code. A 2009 means that your connection to the QMgr was lost. The problem is that you do not know whether it was lost BEFORE the MCA got your request or AFTER. So, for example, if you get a 2009 on a PUT, the call may have worked, or it may not. If you are making your calls under syncpoint you can be assured the PUT will be rolled back if you get a 2009. Under syncpoint, the only exposure is if you get a 2009 on a COMMIT. In this case, your messages MAY have been committed or MAY NOT. When your program reconnects, it has no way of knowing so you have to decide - do I redo any PUT and GET activity or not? If the application tolerates dupes well, you can just restart the previous transaction and repeat any PUT or GET activity. We found a bug under MQ 5.3 where the listener threw 2009 on a GET with convert but inetd handled it fine. This problem went away when we moved to the latest client. -- T.Rob -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 30, 2003 11:03 AM To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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
Re: A program the uses MQSeries Client and Server libraries
C or Java? Dave -Original Message- From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Jeff A Tressler Sent: 30 September 2003 16:03 To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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
Re: A program the uses MQSeries Client and Server libraries
Yes it is possible to do this using the base MQI (MQCONN, MQOPEN, MQPUT etc.). We do this on both NT, AIX and Solaris platforms. You need to look at www.mqseries.net and do a search in the software repository for either ntloadmq, sunloadmq and slloadmq (for AIX). These will give you ideas on how to dynamically load the MQ libraries. Basically, the extension I did to this was to try and load the mqserver library first. If that fails, drop down and look for mqclient. If that fails it's game over. Hope this helps. John Scott IBM Certified Specialist - MQSeries Argos Ltd -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: 30 September 2003 15:03 To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 ** Click here to visit the Argos home page http://www.argos.co.uk The information contained in this message or any of its attachments may be privileged and confidential, and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you are not the intended addressee, any disclosure, reproduction, distribution, dissemination or use of this communication is not authorised. If you have received this message in error, please advise the sender by using your reply facility in your e-mail software. All messages sent and received by Argos Ltd are monitored for virus, high risk file extensions, and inappropriate content. As a result users should be aware that mail maybe accessed. ** 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
Re: A program the uses MQSeries Client and Server libraries
Jeff, You can find samples that dynamically load the mq libraries at: http://www.developer.ibm.com/tech/sampmq.html It should be fairly simple to modify them to do what you are asking. Scott -Original Message- From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Jeff A Tressler Sent: Tuesday, September 30, 2003 11:03 AM To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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
Re: A program the uses MQSeries Client and Server libraries
Just a guess, but if you executed the 'mqver' as a system command, the reply may give you a hint. I don't believe, the command comes with a client install. Name:WebSphere MQ Version: 530.3 CSD03 CMVC level: p530-CSD03J BuildType: IKAP - (Production) Jeff A Tressler [EMAIL PROTECTED]To: [EMAIL PROTECTED] cc: Sent by: MQSeriesSubject: A program the uses MQSeries Client and Server libraries List [EMAIL PROTECTED] n.AC.AT 09/30/2003 11:02 AM Please respond to MQSeries List We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Chase Co., its subsidiaries and affiliates. 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
Re: A program the uses MQSeries Client and Server libraries
I suggest, if you follow this technique, you load the Server Libs first, since it is not unusual to install both libraries. John Scott [EMAIL PROTECTED]To: [EMAIL PROTECTED] .CO.UK cc: Sent by: MQSeriesSubject: Re: A program the uses MQSeries Client and Server libraries List [EMAIL PROTECTED] n.AC.AT 09/30/2003 12:51 PM Please respond to MQSeries List Yes it is possible to do this using the base MQI (MQCONN, MQOPEN, MQPUT etc.). We do this on both NT, AIX and Solaris platforms. You need to look at www.mqseries.net and do a search in the software repository for either ntloadmq, sunloadmq and slloadmq (for AIX). These will give you ideas on how to dynamically load the MQ libraries. Basically, the extension I did to this was to try and load the mqserver library first. If that fails, drop down and look for mqclient. If that fails it's game over. Hope this helps. John Scott IBM Certified Specialist - MQSeries Argos Ltd -Original Message- From: Jeff A Tressler [mailto:[EMAIL PROTECTED] Sent: 30 September 2003 15:03 To: [EMAIL PROTECTED] Subject: A program the uses MQSeries Client and Server libraries We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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 ** Click here to visit the Argos home page http://www.argos.co.uk The information contained in this message or any of its attachments may be privileged and confidential, and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you are not the intended addressee, any disclosure, reproduction, distribution, dissemination or use of this communication is not authorised. If you have received this message in error, please advise the sender by using your reply facility in your e-mail software. All messages sent and received by Argos Ltd are monitored for virus, high risk file extensions, and inappropriate content. As a result users should be aware that mail maybe accessed. ** 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 This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Chase Co., its subsidiaries and affiliates. 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
Re: A program the uses MQSeries Client and Server libraries
The Perl interface to MQSeries has to decide if it's running on a client or server machine. For Unix, the method it uses is to look for a directory named /var/mqm/qmgrs/@SYSTEM. If it exists, it's a server install, else a client install. For Windows, the code looks into the MQ portion of the registry (LocalMachine - SOFTWARE - IBM - MQSeries - CurrentVersion), and extracts the value of the FilePath key (often C:\mqm). It then looks for a directory named FilePath/qmgrs/@SYSTEM to decide whether it's running n a client or a server. Jeff A Tressler [EMAIL PROTECTED]To: [EMAIL PROTECTED] cc: Sent by: MQSeriesSubject: A program the uses MQSeries Client and Server libraries List [EMAIL PROTECTED] N.AC.AT 09/30/2003 10:02 AM Please respond to MQSeries List We are writing a program that will be able to access either the MQSeries client or MQSeries server depending on the system it runs on. My understanding is that the code can be written such that no changes are needed and the method of connection (Client or Server) depends upon which set of MQSeries libraries the program links with. This would create two different executable, one for a MQSeries Client system and another for a MQSeries Server system Is there a way to create a single executable which will recognize it is on a MQSeries server and perform accordingly and if not, perform as if it were running on a MQSeries client system? 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