Re: Pub/Sub in MQSI topology
Kulbir, If you have multiple brokers already, you simply need to group those brokers into a collective (done on the Topology tab of the Control Center) and the brokers will share subscriptions and publications. What actually happens is that when a subscription request is received by one broker (say broker1), that broker will register itself as subscriber on the same topic/filter with all the other brokers in the collective. With that in place, if a message is published on that topic/filter to any broker, the broker (broker1) will get the message (since it's subscribed) and pass it along to any client registered with it. This helps optimize network traffic. You just need to understand that publications aren't really passed around to all brokers but are passed around based on who's subscribed. The Planning and Install guide has some additional information on Broker networks and collectives. Hope this helps. Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] "Kulbir S. Thind" <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 06/06/2002 09:25:57 AM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Pub/Sub in MQSI topology Hi, Although I have been using MQSI for some time I have never used the Publish/Subscribe features yet and therefore have a design question. If we had a topology of MQSI brokers inter-connected and we wanted to implement pub/sub on them would we be able to configure MQSI to replicate publications and subscriptions automatically between the MQSI brokers or would we have to design and develop our system to do that? Regards, Kulbir. 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: Integrator - Basic Question
Sid, For databases, you're limited to DB2 for the configuration manager databases, but you have a larger list of options for the Broker's and user databases. See the planning and install or the README for list of choices and levels supported. As far as interface, there is on the plug-in interface (both plug-in nodes and parsers) that let's you extend the product. There is no generic API beyond that. At the 2.1 level, plug-in nodes can be written in C or Java, and plug-in parsers can only be written in C. Once you've played with the product some more, you'll realize that with how it's written, there's really no good way to have just a generic interface. Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Sid Young <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/19/2002 09:22:10 PM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Integrator - Basic Question Howdy All, Some really newbie style questions about Integrator. Does MQSeries Integrator require a DB2 Database or does it just use an ODBC connection that could be anykind of DB? Does it have a C++ API? or is it all geared towards a plug in style architecture ? Any comment appreciated. Sid Young QML Pathology QLD, Australia 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: MQSI Compute Node
Ratnadeep, Are you putting a valid PDF format message to the queue? I'm not even sure what a PDF message looks like myself since I've never used it, so I'd suggest changing the MQInput node default value to a domain of XML and putting a test message of the format: My test That's a valid XML message that will contain the tag msgText that your compute node it referencing. That should get you around the input message parsing, from there you'll have to make sure you construct a valid MRM message on the output side (since you're putting the msgText field in the MRM domain). Hope that helps, Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Ratnadeep Bose <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/16/2002 06:02:13 PM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Re: MQSI Compute Node Lanny, Thanks for your advice. You are right. I found everything about the broker under the Operation tab once I refreshed the screen. So I can assume it's deployed properly. I am putting some message using explorer into the input queue. But I doubt if I am using the right format in the input node under Default tab. When I use PDF which comes in the list box I get the following error ( MQSI_SAMPLE_BROKER.default ) PDF Worker error. PDF overflow: function name 'OpenDataStreamForReading'; error code '9'. This is returned when the PDF Worker tries perform an operation beyond the end of the Bitstream. Record the full details provided with this message and contact your IBM support center. And if I remove the wire format it complains as ( MQSI_SAMPLE_BROKER.default ) Resource Manager: Bitstream Worker cannot be found: message set id 10, wire format descriptor id rmLoadWorker. I have the following code in the compute node. DECLARE I INTEGER; SET I = 1; WHILE I < CARDINALITY(InputRoot.*[]) DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I=I+1; END WHILE; SET "OutputRoot"."MRM"."msgText" = "InputBody"."msgText"; The message has only one element 'msgText'. Any idea ? Thanks again, Ratnadeep Bose -Original Message- From: Lanny Heidenfelder [mailto:[EMAIL PROTECTED]] Sent: Wednesday, May 15, 2002 6:25 PM To: [EMAIL PROTECTED] Subject: Re: MQSI Compute Node Ratnadeep, That's a new one on me. When you add the Broker on the Topolgy tab and deploy (after you creation of the different components), you should be able to go to operations and refresh and see the broker and it's execution groups. That's the tool that's provided to see what's up and running on a broker system. You did press the green refresh button the operations tab, correct? If you don't referesh you won't see anything. If you did refresh and don't see anything, do you get any error messages in the NT Event Viewer on the Config Manager machine? Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Ratnadeep Bose <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/15/2002 11:15:44 AM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Re: MQSI Compute Node Lanny, Thanks for you help. Surprisingly I dont see anything in the operation tab. There's no entry under the Broker. But I added the message set in the Assignment to the broker. How do you get the broker within the Operation view? Yes, I tried the complete Deployment. Thanks, Ratnadeep Bose -Original Message- From: Lanny Heidenfelder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 14, 2002 9:42 PM To: [EMAIL PROTECTED] Subject: Re: MQSI Compute Node Ratnadeep, This message usually means that the message set isn't assigned and deployed to the broker in question or that the value of the message set identifier for the message doesn't match the actual value for the message set. You say you've checked all those, but I would double check that the message set actually deployed to the broker (check the operations tab). As for what you can copy the entire message, but not reference fields, the body of the message doesn't need to be parsed in order for you to be able to copy it. However, when you reference fields in the body of the message, it must now be parsed, and that's why you can do the copy but not reference fields in the message. There's no way around the error, you need to figure out why the broker thinks the message set you're trying to reference isn't available. Have you tried doing a complete deploy as opposed to a delta deploy? Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning
Re: MQSI Compute Node
Ratnadeep, That's a new one on me. When you add the Broker on the Topolgy tab and deploy (after you creation of the different components), you should be able to go to operations and refresh and see the broker and it's execution groups. That's the tool that's provided to see what's up and running on a broker system. You did press the green refresh button the operations tab, correct? If you don't referesh you won't see anything. If you did refresh and don't see anything, do you get any error messages in the NT Event Viewer on the Config Manager machine? Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Ratnadeep Bose <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/15/2002 11:15:44 AM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Re: MQSI Compute Node Lanny, Thanks for you help. Surprisingly I dont see anything in the operation tab. There's no entry under the Broker. But I added the message set in the Assignment to the broker. How do you get the broker within the Operation view? Yes, I tried the complete Deployment. Thanks, Ratnadeep Bose -Original Message- From: Lanny Heidenfelder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 14, 2002 9:42 PM To: [EMAIL PROTECTED] Subject: Re: MQSI Compute Node Ratnadeep, This message usually means that the message set isn't assigned and deployed to the broker in question or that the value of the message set identifier for the message doesn't match the actual value for the message set. You say you've checked all those, but I would double check that the message set actually deployed to the broker (check the operations tab). As for what you can copy the entire message, but not reference fields, the body of the message doesn't need to be parsed in order for you to be able to copy it. However, when you reference fields in the body of the message, it must now be parsed, and that's why you can do the copy but not reference fields in the message. There's no way around the error, you need to figure out why the broker thinks the message set you're trying to reference isn't available. Have you tried doing a complete deploy as opposed to a delta deploy? Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Ratnadeep Bose <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/14/2002 06:30:47 PM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:MQSI Compute Node Hello All, I am trying to setup a simple message flow where message is sent from an Input node to output node through compute node. Whenever I am trying to access the message elements in compute node by ESQL I am getting the following error in Application log. ( MQSI_SAMPLE_BROKER.default ) Resource Manager: Dictionary not found for message set DPF1U2S07I001. The runtime dictionary resource for message set DPF1U2S07I001 has been requested by the broker in the function rmLoadDictionary but the resource cannot be found as it is not registered. This means that the message set has not been deployed or has not been deployed properly. The broker was requested to load a dictionary that has not been registered with it. Check that the dictionary identifier (e.g. DLPLT0807A001) as detailed on the properties tab on the Message Sets pane in the Control Center is the same as that specified in the message instance. Verify that the correct message set is associated with the desired Execution group (Assignments pane in Control Center). Redeploy the dictionary and check the Control Center's log. It's working fine if I dont include the message tree in compute node and make OutputRoot = InpoutRoot. The message set is defined and it's been deployed multiple times. The message set id, I confirmed is same as what I am using in input node in Default tab. Does anyone know any way around? Thanks, Ratnadeep Bose 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: MQSI Compute Node
Ratnadeep, This message usually means that the message set isn't assigned and deployed to the broker in question or that the value of the message set identifier for the message doesn't match the actual value for the message set. You say you've checked all those, but I would double check that the message set actually deployed to the broker (check the operations tab). As for what you can copy the entire message, but not reference fields, the body of the message doesn't need to be parsed in order for you to be able to copy it. However, when you reference fields in the body of the message, it must now be parsed, and that's why you can do the copy but not reference fields in the message. There's no way around the error, you need to figure out why the broker thinks the message set you're trying to reference isn't available. Have you tried doing a complete deploy as opposed to a delta deploy? Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] Ratnadeep Bose <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/14/2002 06:30:47 PM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:MQSI Compute Node Hello All, I am trying to setup a simple message flow where message is sent from an Input node to output node through compute node. Whenever I am trying to access the message elements in compute node by ESQL I am getting the following error in Application log. ( MQSI_SAMPLE_BROKER.default ) Resource Manager: Dictionary not found for message set DPF1U2S07I001. The runtime dictionary resource for message set DPF1U2S07I001 has been requested by the broker in the function rmLoadDictionary but the resource cannot be found as it is not registered. This means that the message set has not been deployed or has not been deployed properly. The broker was requested to load a dictionary that has not been registered with it. Check that the dictionary identifier (e.g. DLPLT0807A001) as detailed on the properties tab on the Message Sets pane in the Control Center is the same as that specified in the message instance. Verify that the correct message set is associated with the desired Execution group (Assignments pane in Control Center). Redeploy the dictionary and check the Control Center's log. It's working fine if I dont include the message tree in compute node and make OutputRoot = InpoutRoot. The message set is defined and it's been deployed multiple times. The message set id, I confirmed is same as what I am using in input node in Default tab. Does anyone know any way around? Thanks, Ratnadeep Bose 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: MQSI Trace node patterns not displaying ExceptionList
Robert, You got stuck in a retry loop since you had a trace node on the Failure path that was trying to output the body of the message. The body of the message couldn't be parsed (you put an ASCII file which was not XML so it couldn't be parsed), so the trace node was throwing an exception causing the message to be rolled back. Keep in mind that when using a trace node, if you're message isn't getting parsed for some reason and you can't access the body of the message in another node (i.e. a compute node), you won't have any better luck outputting the message body in a trace node since it needs to be able to parse the body to put it in the trace file. As far as your original question, there have been several other comments that I believe are correct. I don't think the comma necessarily has anything to do with it, but I do usually do what John suggested below and put each entry a new line. Keep in mind that the trace does need to be on a catch path or connected to a failure terminal on a node other than the MQInput in order for the Exception List tree to contain data. If you put a trace in the main flow with no exceptions having been thrown you'll see an empty tree represented by: ( ) usually each on it's own line. One other point, when you change the mode of a compute to "Message and Exception List", are you copying the Input Exception List to the Output Exception List (i.e. set OutputExceptionList = InputExceptionList)? If not, if there were any exceptions in InputExceptionList they will be lost after the compute node since when you change the mode to include ExceptionList you get a new empty ExceptionList which you need to populate. Sorry about the length of this, but I hope it helps. Regards, Lanny Lanny Heidenfelder MQSeries/WMQI Instructor and Developer IBM Learning Services [EMAIL PROTECTED] "Quigley, Robert" <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT> on 05/14/2002 11:31:26 AM Please respond to MQSeries List <[EMAIL PROTECTED]> Sent by:MQSeries List <[EMAIL PROTECTED]> To:[EMAIL PROTECTED] cc: Subject:Re: MQSI Trace node patterns not displaying ExceptionList Thanks, John. In trying to test this, I dropped a plain ascii test message (non-xml) onto the input node who's default msg domain was set to XML. Having set the backout-requeue attribute of the input queue to 5, I expected this to retry 5 times, then proceed down the MQInput failure terminal, which was wired to the trace node to test your suggestion. To my surprise, the msg began a continuous loop on the input node, and never went down the failure term. I stopped the msg flow and saw that the backout count on the msg was up to 27, well above the threshold of 5 set on the queue. Any ideas as to why this didn't exit the input node thru the failure term rather than continuously rolling back? -Original Message- From: John Scott [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 14, 2002 9:34 AM To: [EMAIL PROTECTED] Subject: Re: MQSI Trace node patterns not displaying ExceptionList > > Greetings, > I had flows in 2.0.2 that use trace nodes w/ the > following pattern: ${Root}, > ${ExceptionList}. > > After migrating to 2.1, I'm not getting any > exception list data - all is > blank after the comma (${Root} works just fine). > The compute nodes in the > flow have "Message and Exception" selected on the > advanced tab. Any ideas > on what may be causing this appreciated - Try removing the comma between ${Root} and ${ExceptionList}. Also try putting them on separate lines. Regards John Scott. __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.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