Re: JMS and MQSeries
Jay, I've run into the same situation and it appears the solution is different depending on which way the message flows. For JMS -> C, set the TARGCLIENT attribute on the Q object in the JMS context to "MQ" (the default is "JMS") and the JMS message that is produced will not have the RCF2 header attached so the C program is happy. For C -> JMS, it doesn't appear that the TARGCLIENT attribute has any effect. My C code generates a message just like it always does but in my JMS application I interpret the incoming message as a JMS TextMessage type and it seems to work fine. Haven't seen this 2nd part documented anywhere so I might just be getting lucky. -Ben -Original Message- From: Jay H. Lang [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 06, 2003 7:19 AM To: [EMAIL PROTECTED] Subject: JMS and MQSeries Hi List it has been some time since I have written, I am just getting started with JMS and am having trouble. I have a sending application written in C that is sending plain text messages. I have a receiving application written usung JMS to get and process the messages. I am having trouble getting the messages. Some of the errors: Sending program was using MQ Java classes: Caught exception: java.lang.ClassCastException: com.ibm.jms.JMSBytesMessage Reply message was not a TextMessage caught JMSException: javax.jms.JMSException: Retrieved the wrong type of message Sending program was a C program: caught JMSException: javax.jms.MessageFormatException: MQJMS1046: The character set 437 is not supported linked exception: java.io.UnsupportedEncodingException: Cp437 I can't imagine that a JMS consumer of a message has to have the message produced by a JMS program. Seems to constrictive. Thanks for any help provided. -- Jay H. Lang Chief Technologist Distributed Computing Professionals Inc. IBM Certified Specialist - MQSeries 303 277-1873 - Office 303 807-9700 - Cell 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
Clustering on iSeries
Apologies for such a simple question but the AS/400 is as alien to me as walking on the moon. Does MQ 5.2 on the iSeries support clustering? Looking at the documentation (5th addition) it states the docs apply to 5.3 for iSeries but I haven't found anything that mentions the minimum version needed for clustering support on iSeries. Also, assuming 5.2 does support clustering can I plan on using MQExplorer to manage its cluster? Thanks, Ben
Re: Retrying Channel Status?
Checking the suggested logs, it was a sequencing error. Since I reset the channels its been working fine. I am curious though as to what types of situations can give rise to a sequencing error. In production (if we ever get that far) the systems will be operating across a VPN with who-knows-what networking equipment and "stuff" between machines. Thanks, Ben -Original Message- From: Adiraju S Rao [mailto:[EMAIL PROTECTED]] Sent: Monday, November 25, 2002 10:03 AM To: [EMAIL PROTECTED] Subject: Re: Retrying Channel Status? Hi Ben, Please take a look at the error log files on the Win 2000 Server. In c:\program files\IBM\websphere mq\qmgrs\\errors\AMQERR01.LOG I am thinking that there is a problem with the sequence number. Please post the log file. Adi From: "eugene rosenberg" <[EMAIL PROTECTED]>@AKH-Wien.AC.AT> on 11/25/2002 08:41 AM PST Please respond to "MQSeries List" <[EMAIL PROTECTED]> Sent by:"MQSeries List" <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] cc: Subject:Re: Retrying Channel Status? Can it be connected with the length of the message? Ping message is short. Eugene Rosenberg --- "Pope, Ben" <[EMAIL PROTECTED]> wrote: > > I've got a situation between an Win2K (5.3) and > AS/400 (5.2) box with a sender channel stuck > in retrying mode. If I manually stop the channel I > can ping it successfully. Initially, I could even > manually start it and it appeared to be running > fine. As soon as a message landed in the > transmission queue, however, the channel status > switched over to retrying. > > Considering I can ping the channel O.K. leads me to > believe both end points are defined > correctly. I checked the message in the > transmission queue and it appears to have a valid > transmission header prepended. Any suggestions on > what might cause this behavior or > where to look for more clues? > > Thanks, Ben > __ Do you Yahoo!? Yahoo! Mail Plus Powerful. Affordable. Sign up now. http://mailplus.yahoo.com 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
Retrying Channel Status?
Title: Retrying Channel Status? I've got a situation between an Win2K (5.3) and AS/400 (5.2) box with a sender channel stuck in retrying mode. If I manually stop the channel I can ping it successfully. Initially, I could even manually start it and it appeared to be running fine. As soon as a message landed in the transmission queue, however, the channel status switched over to retrying. Considering I can ping the channel O.K. leads me to believe both end points are defined correctly. I checked the message in the transmission queue and it appears to have a valid transmission header prepended. Any suggestions on what might cause this behavior or where to look for more clues? Thanks, Ben
MQMQ MsgID - valid characters
Title: MQMQ MsgID - valid characters I have a situation where I need to pass the MsgId contents as part of an XML message. What I've found in the docs describes how the field in constructed by the queue manger but it is described as being simply "a byte field". Are there any details as to what byte range could be used? Specifically, codes between 0x00 and 0x20 are considered invalid XML and if they can be included in the MsgId field then I need to account for that possibility. Thanks, Ben
Re: Any sites with many MQSeries servers?
We had about 70 qmgrs. Since we already had a metadata DB to manage information for the product, we used that DB to store information about entities in the MQ environment. One of the DB guys wrote a tool that read the metadata and could generate a configuration script. Worked really well since the non-MQ folks could think of things logically and build up the metadata while the tool ensured the configuration script was properly created. -Ben -Original Message- From: Hall, Scott [mailto:scott.hall@;CH.UNISYS.COM] Sent: Thursday, October 24, 2002 9:58 AM To: [EMAIL PROTECTED] Subject: Any sites with many MQSeries servers? Do any the readers of this mail list have many MQ servers? (e.g., more than 50 queue managers on more than 50 server/mainframe machines) If so, how do you manage the queue manager configurations? (e.g., home grown tools, tools from a S/W vendor, ...) Does anyone have any tools to help validate configurations? (i.e., see if they are probably correct before putting them into production usage) Thanks in advance. Scott Hall 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: MQSeries and Java Exception Output
If you want to selectively deal with exceptions (e.g., ignore some) then, instead of setting MQExcetption.log to null (which will send all of them to the bit bucket) you can create your own version of an OutputStreamWriter and deal with the error codes however you want. Create the customer stream and setup MQExceptions to go to it. m_MQErrorStream = new MQOutputStreamWriter(System.err); if (null == m_MQErrorStream) m_Log.error("ERROR"); else MQException.log = m_MQErrorStream; Here's the new class. /** * MQOutputStreamWriter * * MQOutputStreamWriter is used to replace the default stream for MQ * errors. Normally, any completion code other than 0 will cause a * message to be generated. This class selectively passes error * message depending on return code. * */ public class MQOutputStreamWriter extends OutputStreamWriter { OutputStream target; public MQOutputStreamWriter(OutputStream out) { super(out); target = out; } public void write(char[] cbuf, int off, int len) { System.out.println("write1"); } public void write(int c) { System.out.println("write2"); } public void write(String str, int off, int len) { int ignore = MQException.MQRC_NO_MSG_AVAILABLE; int index = str.indexOf("2033"); //if (index == -1) // System.out.println(str); } } // MQOutputStreamWriter -Original Message- From: Roger Lacroix [mailto:roger.lacroix@;CAPITALWARE.BIZ] Sent: Monday, October 21, 2002 7:40 PM To: [EMAIL PROTECTED] Subject: Re: MQSeries and Java Exception Output Hi, You have to set MQException.log to null before you do the MQ get (e.g. get() method). I generally set it before I even connect to the queue manager. later Roger Lacroix Enterprise Architect Capitalware Inc. At 06:54 PM 10/21/2002, you wrote: >Roger, > >Yeah, I saw that. However, I am doing a try catch block of code where it >catches the MQException, so this won't really work. I tried setting the >log attribute within the catch block, but I think MQ already prints the >output to the file because I saw it in the error file even with this code >modification. Any other ideas? > > >Christopher P. Alioto >Software Engineer >IBM Global Services - Technology Acquisition and Asset Services (TAAS) >Phone: 630.577.5502, T/L 660.5502 >Fax: 630.577.3206, T/L 660.3206 >Pager: 800.759. PIN: 1165785 >Internet: [EMAIL PROTECTED] > > > > > > Roger > Lacroix > ><[EMAIL PROTECTED]> > alware.biz> cc: Christopher P > Alioto/Chicago/IBM@ibmus > Subject: Re: MQSeries > and Java Exception Output > 10/21/2002 02:21 > PM > > > > > > > > >Hi, > >Look up in the MQException class in the MQSeries Using Java manual. > >You need to set MQException.log = null; > >later >Roger Lacroix >Enterprise Architect >Capitalware Inc. > >Quoting Christopher P Alioto <[EMAIL PROTECTED]>: > > > Hi, > > > > I have a program that gets messages off a queue based on messageId and > > correlationId. However, whenever there isn't a message that matches >these > > two, and MQJE001 output string is printed to my error file. This >exception > > message basically says that there are no messages available, which is >fine. > > However, is there any way to avoid this message being printed to my error > > file? If so, what do I need to do? Thanks. > > > > > > Christopher P. Alioto > > [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 > > 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