Author |
Message
|
ghoshly |
Posted: Fri Nov 06, 2009 1:31 am Post subject: Publish Subscribe in a Collective on top of MQ cluster |
|
|
Partisan
Joined: 10 Jan 2008 Posts: 333
|
Hi,
I have set up a MQ cluster with MQ V7.0 with queue managers for MB1 (Full Repos), MB2, MB3, ConfigMgr (Full repos), UsrNmSrvr. Now when the cluster is ready I have set a domain and a collective with those three broker (V6.1) within the topology.
After that when I created some subscriptions based on topics, I can see proxy subscriptions for those in other brokers. I have issued mqsibrowse with bnbrconnections and bsubscriptions which shows the subscriptions and neighbouring brokers from others. I can show the output as well if required.
But when I am trying to simply publish a xml message to a subscribed topic I am getting exception as below :
<RecoverableException> <File>F:\build\S610_P\src\DataFlowEngine\JavaNodeLibrary\ImbPubSubDestinationList.cpp</File>
<Line>506</Line>
<Function>ImbPubSubDestinationList::addDestination</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPv610</Catalog>
<Severity>3</Severity>
<Number>2111</Number>
<Text>Did not understand the required format: </Text>
<Insert>
<Type>2</Type>
<Text>201458432</Text>
</Insert>
</RecoverableException>
</UnknownException>
Similar exceptions were reported in the below post, but no resolution.
http://www.mqseries.net/phpBB2/viewtopic.php?t=36295
Is any special set up or configuration is required to publish in Collective with cluster like Multicast setting ??
So I am trying to post in details , because I need to solve this issue first to move further to achieve the final goal.  |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Nov 06, 2009 3:30 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
If you are using the Broker's Pub/Sub engine (WMB) you need to have an RFH2 publish header....
In MQ V7 the equivalent of the WMB collective is the clustered subscription...
MQ V7 pub/sub manual
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
ghoshly |
Posted: Fri Nov 06, 2009 4:59 am Post subject: WMB Pubsub engine |
|
|
Partisan
Joined: 10 Jan 2008 Posts: 333
|
I am using WMB engine for this Pub Sub.. Following is the code snippet which I am using before the publish node. This same code works for a broker which is not in the cluster as well as the collective.
SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = MQFMT_STRING;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Encoding = InputRoot.MQMD.Encoding;
SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = InputRoot.MQMD.CodedCharSetId;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Flags = 0;
SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;
SET OutputRoot.MQRFH2.(MQRFH2.Field)mcd.Msd = 'xmlnsc';
SET OutputRoot.MQRFH2.psc.Topic = 'Root/Topic/Market/#'; |
|
Back to top |
|
 |
ghoshly |
Posted: Fri Nov 06, 2009 5:46 am Post subject: Report the broker property |
|
|
Partisan
Joined: 10 Jan 2008 Posts: 333
|
C:\>mqsireportproperties MB61BROKER_02 -c PublishSubscribe -o AllReportableEntit
yNames -r
PublishSubscribe
Interface
psmode='enabled'
Based on the following I am checking the WMB engine.
" If the psmode returned has the value enabled, the broker's publish/subscribe engine is enabled and the broker handles all publish/subscribe application messages and operations. If the value returned is disabled, the queue manager's publish/subscribe engine is handling all application publications and subscriptions. You can disable the broker's publish/subscribe engine only if you have installed WebSphere MQ Version 7.0 on this computer. " |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Nov 06, 2009 3:20 pm Post subject: Re: WMB Pubsub engine |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ghoshly wrote: |
I am using WMB engine for this Pub Sub.. Following is the code snippet which I am using before the publish node. This same code works for a broker which is not in the cluster as well as the collective.
SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = MQFMT_STRING;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Encoding = InputRoot.MQMD.Encoding;
SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = InputRoot.MQMD.CodedCharSetId;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Flags = 0;
SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;
SET OutputRoot.MQRFH2.(MQRFH2.Field)mcd.Msd = 'xmlnsc';
SET OutputRoot.MQRFH2.psc.Topic = 'Root/Topic/Market/#'; |
What you show as a topic is a subscription topic, not a publishing topic. You cannot publish to a topic containing a wildcard AFAIK.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ghoshly |
Posted: Sun Nov 08, 2009 9:05 pm Post subject: Wild Card character |
|
|
Partisan
Joined: 10 Jan 2008 Posts: 333
|
Hi fjb,
Definitely the # character acts as a wild character when used in a subscription topic.. but when used in a publishing topic it acts just as a normal character. Please correct me If I am wrong.. Definitely I would just remove the # character from the publishing topic and try again.
Thanks for suggestion. |
|
Back to top |
|
 |
|