MQ install on Linux kernel 2.6 or greater
Has anyone been able to get MQ to install and run on a Linux kernel 2.6 or greater? If so, do you have any tips? I'm aware of the issue with LinuxThreads and have set LD_ASSUME_KERNEL=2.4.19. But, it still isn't working. I think that something is wrong with the install process (I'm running on Debian Linux and had to convert the *.rpm packages to *.deb via alien). If anybody could post their LinuX MQ directory structure, that would help me to see how things should be getting installed. Just an ls -lA /var/mqm and ls -lA /opt/mqm would be a great help. Thanks! I'm getting this message when I try to do a simple crtmqm -q QM1 AMQ8101: WebSphere MQ error (893) has occurred. Here is the FDC ... +-+ | | | WebSphere MQ First Failure Symptom Report | | = | | | | Date/Time :- Friday September 17 09:06:14 EDT 2004 | | Host Name :- debian01 (Linux 2.6.7-20040810)| | PIDS :- 5724B4104 | | LVLS :- 530| | Product Long Name :- WebSphere MQ for Linux for Intel | | Vendor:- IBM| | Probe Id :- XC207003 | | Application Name :- MQM| | Component :- xxxInitialize | | Build Date:- Oct 30 2002| | CMVC level:- p000-L021028 | | Build Type:- IKAP - (Production)| | UserID:- 1007 (mqm) | | Program Name :- crtmqm | | Thread-Process:- 1838 | | Thread:- 0001 | | Major Errorcode :- xecF_E_UNEXPECTED_SYSTEM_RC| | Minor Errorcode :- OK | | Probe Type:- MSGAMQ6119 | | Probe Severity:- 2 | | Probe Description :- AMQ6119: An internal WebSphere MQ error has occurred | | ('2 - No such file or directory' from Open CCSID.TBL.)| | FDCSequenceNumber :- 0 | | Arith1:- 2 2| | Comment1 :- '2 - No such file or directory' from Open CCSID.TBL. | | | | | +-+ Mark Hansen bus: (914) 924-3398 fax: (914) 723-8671 email: [EMAIL PROTECTED] 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
Session.createProducer(null) throws MQJE001 Reason 2085
Does MQ support the creation of a MessageProducer with a null destination? I'm getting the error specified in the subject - with reason 2085. According to the JMS 1.1 Javadoc, I ought to be able to do this. Am I missing something? Thanks, Mark 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: JMS MessageProducer very slow writing to Cluster Queue - Resolved
James, Thanks. You are exactly right - I was using the same Session to send messages while a consumer in that Session had registered a MessageListener. A basic violation of Session single-threading. I could have saved myself a lot of headaches by reading the JMS specification! For what its worth, I do think that having Websphere MQ detect this and throw a runtime exeception would be a valuable application programming aid. I assume it is a common mistake that JMS novices make. -- Mark -Original Message- From: James Kingdon [mailto:[EMAIL PROTECTED] Sent: Thursday, April 01, 2004 6:21 AM To: MQSeries List; Mark D. Hansen Subject: Re: JMS MessageProducer very slow writing to Cluster Queue - Resolved Hi Mark, It sounds like you may have been using the same Session instance for the MessageListener and the MessageProducer. This is technically a violation of the JMS specification (unless the MessageProducer is used from within onMessage) as it breaks the single threaded use of sessions. Some versions of MQ JMS detect this case and throw an exception, but I believe the latest version lets it through, in which case it would be likely to suffer the sort of performance issues you describe. I'll take it up with the current code owner to find out the position on allowing the call vs throwing an exception. If the above is the cause of your problem, the solution is to either use a different session for the MessageProducers or to ensure that you only use the MessageProducers from within onMessage, whichever best meets your application requirements. In general, you should always ensure that a Session is never used concurrently, which includes calls across the set of objects created from that Session such as MessageProducers and MessageConsumers. The exception is for calls to Connection and Session close. You need to keep in mind that the async delivery mechanism also counts as a Thread and is considered to own the Session if there is at least one MessageListener registered on the MessageConsumers of that Session and the Connection is started. Section 4.4.6 Conventions for Using a Session of the JMS spec' covers this in more detail. Regards, James. Mark D. Hansen wrote: Sorry to reply to my own post, but I figured this out and I'm wondering if anyone else has had a similar experience. It turned out that when I got rid of the JMS MessageListener that I was using on the Queue Manager that was trying to send to the cluster queue, my performance went through the roof. Maybe the MessageListener was blocking the mechanism by which messages get put to a cluster queue?!?! Anybody got any ideas that might shed some light on this behavior? Thanks, Mark -Original Message- From: Mark D. Hansen Sent: Tuesday, March 30, 2004 11:22 AM To: 'MQ (E-mail)' Cc: Mark D. Hansen Subject: JMS MessageProducer very slow writing to Cluster Queue I'm tearing my hair out with this. Any help would be much appreciated. Whenever I invoke MessageProducer.send() where the MessageProducer has been defined on a Cluster Queue, it takes about 5 seconds for the send method to return. However, producing message to a local queue is quick. Below is script that sets up the cluster. ** MSQC commands to set up the Client ** Make the QMGR a Cluster Repository ALTER QMGR REPOS(EAI) ** Join the EAI cluster DEFINE CHANNEL(TO.EAI_CLIENT) CHLTYPE(CLUSRCVR) + TRPTYPE(TCP) CONNAME('eai-client2.javector.com') + CLUSTER(EAI) + DESCR('Cluster-receiver channel for QM_eai_client') + REPLACE DEFINE CHANNEL(TO.EAI_SERVER) CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('javector-server.javector.com') CLUSTER(EAI) + DESCR('Cluster-sender channel going to QM_eai_server') + REPLACE ** Define local queue to receive responses DEFINE QLOCAL('EAI_RESPONSES') REPLACE + CLUSTER(EAI) + DESCR('For receiving responses from services') + DEFPSIST(YES) SHARE 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: JMS MessageProducer very slow writing to Cluster Queue - Resolved
Sorry to reply to my own post, but I figured this out and I'm wondering if anyone else has had a similar experience. It turned out that when I got rid of the JMS MessageListener that I was using on the Queue Manager that was trying to send to the cluster queue, my performance went through the roof. Maybe the MessageListener was blocking the mechanism by which messages get put to a cluster queue?!?! Anybody got any ideas that might shed some light on this behavior? Thanks, Mark -Original Message- From: Mark D. Hansen Sent: Tuesday, March 30, 2004 11:22 AM To: 'MQ (E-mail)' Cc: Mark D. Hansen Subject: JMS MessageProducer very slow writing to Cluster Queue I'm tearing my hair out with this. Any help would be much appreciated. Whenever I invoke MessageProducer.send() where the MessageProducer has been defined on a Cluster Queue, it takes about 5 seconds for the send method to return. However, producing message to a local queue is quick. Below is script that sets up the cluster. ** MSQC commands to set up the Client ** Make the QMGR a Cluster Repository ALTER QMGR REPOS(EAI) ** Join the EAI cluster DEFINE CHANNEL(TO.EAI_CLIENT) CHLTYPE(CLUSRCVR) + TRPTYPE(TCP) CONNAME('eai-client2.javector.com') + CLUSTER(EAI) + DESCR('Cluster-receiver channel for QM_eai_client') + REPLACE DEFINE CHANNEL(TO.EAI_SERVER) CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('javector-server.javector.com') CLUSTER(EAI) + DESCR('Cluster-sender channel going to QM_eai_server') + REPLACE ** Define local queue to receive responses DEFINE QLOCAL('EAI_RESPONSES') REPLACE + CLUSTER(EAI) + DESCR('For receiving responses from services') + DEFPSIST(YES) SHARE 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
MQ Bible??
Is there an MQ Bible that I can read to get grounded in all the basics of MQ, especially listeners, channels, connections, clusters, etc. ??? 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
JMS MessageProducer very slow writing to Cluster Queue
I'm tearing my hair out with this. Any help would be much appreciated. Whenever I invoke MessageProducer.send() where the MessageProducer has been defined on a Cluster Queue, it takes about 5 seconds for the send method to return. However, producing message to a local queue is quick. Below is script that sets up the cluster. ** MSQC commands to set up the Client ** Make the QMGR a Cluster Repository ALTER QMGR REPOS(EAI) ** Join the EAI cluster DEFINE CHANNEL(TO.EAI_CLIENT) CHLTYPE(CLUSRCVR) + TRPTYPE(TCP) CONNAME('eai-client2.javector.com') + CLUSTER(EAI) + DESCR('Cluster-receiver channel for QM_eai_client') + REPLACE DEFINE CHANNEL(TO.EAI_SERVER) CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('javector-server.javector.com') CLUSTER(EAI) + DESCR('Cluster-sender channel going to QM_eai_server') + REPLACE ** Define local queue to receive responses DEFINE QLOCAL('EAI_RESPONSES') REPLACE + CLUSTER(EAI) + DESCR('For receiving responses from services') + DEFPSIST(YES) SHARE 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: MQ Bible??
How about any of the Redbooks? -Original Message- From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Potkay, Peter M (PLC, IT) Sent: Tuesday, March 30, 2004 9:18 AM To: [EMAIL PROTECTED] Subject: Re: MQ Bible?? There is no one book, just all the manuals collectively. If I had to pick one to give to someone that knew the basics of MQ, but needed to know how it all worked together, then I would choose the Intercommunication Manual. If you have clusters, you would supplement it with the Cluster Manual as well. But you really need to also read the MQSC book, and the two Application Programming Manuals, as well as the System Admin Guide. -Original Message- From: Mark D. Hansen [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 30, 2004 9:09 AM To: [EMAIL PROTECTED] Subject: MQ Bible?? Is there an MQ Bible that I can read to get grounded in all the basics of MQ, especially listeners, channels, connections, clusters, etc. ??? 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, 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
runmqlsr vs. MQSC START LISTENER on Windows ??
Can anyone tell me the difference between using runmqlsr and the MSQC START LISTENER command on Windows? I'm having trouble with runmqlsr hanging when used in the following batch file to setup my QM ... endmqm -w QM_eai_client endmqlsr -w -m QM_eai_client dltmqm QM_eai_client crtmqm -c A client queue manager. -u SYSTEM.DEAD.LETTER.QUEUE -q QM_eai_client runmqlsr -t tcp -m QM_eai_client -p 1414 strmqm QM_eai_client strmqcsv QM_eai_client runmqsc QM_eai_clientclient.mqsc And here is the file client.mqsc ... ** MSQC commands to set up the Client ** Make the QMGR a Cluster Repository ALTER QMGR REPOS(EAI) ** Join the EAI cluster DEFINE CHANNEL(TO.EAI_CLIENT) + CHLTYPE(CLUSRCVR) TRPTYPE(TCP) + CONNAME('eai-client2.javector.com') CLUSTER(EAI) + DESCR('Cluster-receiver channel for QM_eai_client') DEFINE CHANNEL(TO.EAI_SERVER) + CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('javector-server.javector.com') CLUSTER(EAI) + DESCR('Cluster-sender channel going to QM_eai_server') ** Define local queue to receive responses DEFINE QLOCAL('EAI_RESPONSES') REPLACE + CLUSTER(EAI) + DESCR('For receiving responses from services') + DEFPSIST(YES) SHARE 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: runmqlsr vs. MQSC START LISTENER on Windows ??
It is meant to be a reboot of the queue manager to empty everything out and start again fresh. This is a queue manager that I use in a test/development environment. -Original Message- From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Tim Armstrong Sent: Monday, March 29, 2004 7:54 PM To: [EMAIL PROTECTED] Subject: Re: runmqlsr vs. MQSC START LISTENER on Windows ?? Gidday Mark, Just curious why are you deleting and recreating the queue manager? Regards Tim A -Original Message- From: Mark D. Hansen [mailto:[EMAIL PROTECTED] Sent: Tuesday, 30 March 2004 10:44 AM To: [EMAIL PROTECTED] Subject: runmqlsr vs. MQSC START LISTENER on Windows ?? Can anyone tell me the difference between using runmqlsr and the MSQC START LISTENER command on Windows? I'm having trouble with runmqlsr hanging when used in the following batch file to setup my QM ... endmqm -w QM_eai_client endmqlsr -w -m QM_eai_client dltmqm QM_eai_client crtmqm -c A client queue manager. -u SYSTEM.DEAD.LETTER.QUEUE -q QM_eai_client runmqlsr -t tcp -m QM_eai_client -p 1414 strmqm QM_eai_client strmqcsv QM_eai_client runmqsc QM_eai_clientclient.mqsc And here is the file client.mqsc ... ** MSQC commands to set up the Client ** Make the QMGR a Cluster Repository ALTER QMGR REPOS(EAI) ** Join the EAI cluster DEFINE CHANNEL(TO.EAI_CLIENT) + CHLTYPE(CLUSRCVR) TRPTYPE(TCP) + CONNAME('eai-client2.javector.com') CLUSTER(EAI) + DESCR('Cluster-receiver channel for QM_eai_client') DEFINE CHANNEL(TO.EAI_SERVER) + CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('javector-server.javector.com') CLUSTER(EAI) + DESCR('Cluster-sender channel going to QM_eai_server') ** Define local queue to receive responses DEFINE QLOCAL('EAI_RESPONSES') REPLACE + CLUSTER(EAI) + DESCR('For receiving responses from services') + DEFPSIST(YES) SHARE 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
JMS Pub/Sub Cleanup gives NoSuchMethodError
I'm trying to run the com.ibm.mq.jms.Cleanup utility on a QM running on a Windows 2000 Server machine and am getting the following error: [java] Websphere MQ classes for Java(tm) Message Service 5.300 [java] Publish/Subscribe Cleanup Utility [java] java.lang.NoSuchMethodError: getMessageData [java] at com.ibm.mq.server.MQSESSION._MQPUTMSG2(Native Method) [java] at com.ibm.mq.server.MQSESSION.MQPUT(MQSESSION.java:2421) [java] at com.ibm.mq.MQQueue.putMsg2(MQQueue.java:1482) [java] at com.ibm.mq.jms.Cleanup.performCleanup(Cleanup.java:1281) [java] at com.ibm.mq.jms.Cleanup.cleanup(Cleanup.java:1029) [java] at com.ibm.mq.jms.Cleanup.main(Cleanup.java:775) [java] Exception in thread main It looks to me like some kind of JNI linking error. However, I have the MQ DLLs on the path of the JVM using the following: -Djava.library.path=C://Program File/IBM/WebSphereMQ/Java/lib The other strange thing is that it works perfectly running on another machine that has the Windows 2000 Professional (not Server). Does anyone have any ideas? Is there anyway that I can find out which DLL is being called by _MQPUTMSG2(Native Method) ??? Maybe then I can find out if there is a DLL that is out of date or something? Thanks, Mark 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