ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Referencing message sets by their ID

Post new topic  Reply to topic Goto page 1, 2  Next
 Referencing message sets by their ID « View previous topic :: View next topic » 
Author Message
aerosoul
PostPosted: Mon Jan 03, 2011 7:47 am    Post subject: Referencing message sets by their ID Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

Hello,

I'm using Broker v6.1.0.8, and I'm having an issue figuring out, how to reference message sets by their ID in MQInput node (or any node which uses messagesets).
In the Toolkit when i select the message set on the Input Message Parsing tab, i see the ID of it, but in the actual .msgflow file there is only its name referenced, which is kind of nonsense to me.

My goal would be to be able to rename MessageSets in the BAR, but right now as they are referenced by name it is not possible.

I would appreciate any help with this.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 8:10 am    Post subject: Re: Referencing message sets by their ID Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
My goal would be to be able to rename MessageSets in the BAR, but right now as they are referenced by name it is not possible.


I don't understand the question or the problem. The message flow contains the id of the message set as you correctly point out. The bar file contains only those items you're deploying (which could easily be a message flow but not it's associated message sets if they're unchanged).

If you change (by renaming) the message set you'd need to redeploy them anyway & could use a separate bar file to do this.

So what's the problem? I don't see what you're getting at.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
aerosoul
PostPosted: Mon Jan 03, 2011 10:12 am    Post subject: Re: Referencing message sets by their ID Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

The quoted part is just the greater theme for me.

The problem is that in my test environment msgflow source references the used messagesets by name, and I would like to know if there is a way to reference them by their ID (so that i could change message set names right before deploy in the BAR, and still preserve msgflow and message set corelation).

Vitor wrote:
aerosoul wrote:
My goal would be to be able to rename MessageSets in the BAR, but right now as they are referenced by name it is not possible.


I don't understand the question or the problem. The message flow contains the id of the message set as you correctly point out. The bar file contains only those items you're deploying (which could easily be a message flow but not it's associated message sets if they're unchanged).

If you change (by renaming) the message set you'd need to redeploy them anyway & could use a separate bar file to do this.

So what's the problem? I don't see what you're getting at.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 10:23 am    Post subject: Re: Referencing message sets by their ID Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
The problem is that in a msgflow source the used messagesets are referenced by name, and I would like to know if there is a way to reference them by their ID


As you've said the input nodes refer to the message set id, and code within the ESQL refers to the top level tag. Whilst it might have a reference to the name in the msgflow file I can't think of a good reason you should be looking in there.

aerosoul wrote:
(so that i could change message set names right before deploy and still preserve msgflow and message set corelation).


That's an odd thing to want to do. Why would you deploy a different named message set to the one you've (presumably) been using in development?

Perhaps if you gave a little more detail on what requirement you're trying to fulfill? There could be another way to achieve the same end.

Certainly if you're committed to using a different name you shouldn't be messing with the flow source; you should promote the properties & use bar file overrides.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 10:24 am    Post subject: Re: Referencing message sets by their ID Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
The quoted part is just the greater theme for me.


Like I said, I think a little more information on your greater theme might yield some better advice here.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Jan 03, 2011 11:15 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

If you are in any way shape or form trying to override the message set data on a SOAPInput node, and you are not at 7.0.0.2 and using Gateway mode, then you are flat out out of luck. This is set at design time and is not alterable at deploy or runtime.

If you are otherwise trying to do something on a node that is NOT SOAPInput like add a version identification string to the message set name so that you can see the deployed version information, then you should at least attempt to promote the properties as mentioned and use an override.
Back to top
View user's profile Send private message
aerosoul
PostPosted: Mon Jan 03, 2011 11:35 am    Post subject: Re: Referencing message sets by their ID Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

First of all thank you for your help.

Vitor wrote:
As you've said the input nodes refer to the message set id, and code within the ESQL refers to the top level tag. Whilst it might have a reference to the name in the msgflow file I can't think of a good reason you should be looking in there.


As I found it by some testing, the deployed msgflow just uses the msgset name to decide which msgset to use, despite that the toolkit displays the msg set ID on the MQInput node's property sheet. So I checked the source and found that it actually does not contain the msg set ID.

Code:
<nodes xmi:type="ComIbmMQInput.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_1" location="21,148" queueName="INQ" messageDomainProperty="XMLNSC" messageSetProperty="MyApplicationMessageSet1" validateTiming="immediate" validateMaster="content">


Which seems rather odd to me, so I searched for some way to use msg set ID instead with no success.

Vitor wrote:
That's an odd thing to want to do. Why would you deploy a different named message set to the one you've (presumably) been using in development?

Perhaps if you gave a little more detail on what requirement you're trying to fulfill? There could be another way to achieve the same end.

Certainly if you're committed to using a different name you shouldn't be messing with the flow source; you should promote the properties & use bar file overrides.


What I'd like to get to is to use SVN for managing Broker source code including msgsets, and to be able to use revision numbers in development, and version numbers just at the end of it. And because there could be multiple versions of the same msgset deployed on the same exec group I need to include the version number in the name, but I'd not like to do that in development phase.


Last edited by aerosoul on Mon Jan 03, 2011 11:43 am; edited 1 time in total
Back to top
View user's profile Send private message
aerosoul
PostPosted: Mon Jan 03, 2011 11:41 am    Post subject: Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

mqjeff wrote:
If you are in any way shape or form trying to override the message set data on a SOAPInput node, and you are not at 7.0.0.2 and using Gateway mode, then you are flat out out of luck. This is set at design time and is not alterable at deploy or runtime.

If you are otherwise trying to do something on a node that is NOT SOAPInput like add a version identification string to the message set name so that you can see the deployed version information, then you should at least attempt to promote the properties as mentioned and use an override.


Indeed I tried to promote the input message parsing properties of the MQInput, but for some reason they just don't show up in the Toolkit on the manage tab of the built BAR.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 12:16 pm    Post subject: Re: Referencing message sets by their ID Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
What I'd like to get to is to use SVN for managing Broker source code including msgsets, and to be able to use revision numbers in development, and version numbers just at the end of it.


Well you'll find a wealth of discussions in here on using WMB & SVN, many of which are on the subject that you're talking about & may be useful to you.

aerosoul wrote:
And because there could be multiple versions of the same msgset deployed on the same exec group I need to include the version number in the name, but I'd not like to do that in development phase.


I'm interested to hear that your message sets are so dynamic that you can have multiple versions in development simultaniously, and slightly alarmed that you're trying to pile them all up in a single execution group. How (in this scenario) would you merge them back into a single production (user test / pre-production) version without a lot of regression testing?

You may well find your life is considerably simplified by having multiple execution groups and tagging the message sets (and their associated flows) with SVN. This would allow them to run in parallel in development & then be merged back by whatever means you're employing.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 12:20 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
Indeed I tried to promote the input message parsing properties of the MQInput, but for some reason they just don't show up in the Toolkit on the manage tab of the built BAR.


This is a problem - they should, and this is far easier (and more supported!) than playing round with either the msgflow or bar files.

Are all these in main flows rather than sub flows? Does the node properties show "promoted to flow" as you'd expect? How are the prompted properties grouped? Does the flow use the same name & group for them as the node does?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
aerosoul
PostPosted: Mon Jan 03, 2011 12:33 pm    Post subject: Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

Vitor wrote:
This is a problem - they should, and this is far easier (and more supported!) than playing round with either the msgflow or bar files.

Are all these in main flows rather than sub flows? Does the node properties show "promoted to flow" as you'd expect? How are the prompted properties grouped? Does the flow use the same name & group for them as the node does?


Yes I'm trying this on a main flow, on the MQInput I see the properties promoted, and on the property tab of the flow I can set them, and being the only promoted props in this sample they are in the default Basic group. But they don't show up on the BAR manage tab. (I tried other props, and verified that some others appear there.)
Back to top
View user's profile Send private message
aerosoul
PostPosted: Mon Jan 03, 2011 12:45 pm    Post subject: Re: Referencing message sets by their ID Reply with quote

Newbie

Joined: 03 Jan 2011
Posts: 8

Vitor wrote:
I'm interested to hear that your message sets are so dynamic that you can have multiple versions in development simultaniously, and slightly alarmed that you're trying to pile them all up in a single execution group. How (in this scenario) would you merge them back into a single production (user test / pre-production) version without a lot of regression testing?

You may well find your life is considerably simplified by having multiple execution groups and tagging the message sets (and their associated flows) with SVN. This would allow them to run in parallel in development & then be merged back by whatever means you're employing.


I may not have expressed myself the way I wanted, most of the time there should be only one version under development, but in production there will be multiple versions in the same EG, or at least I can not close this possibility out.
The reason for me not wanting the version in the msgset name in the development phase is that I don't like filename changes in SVN.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 1:59 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
Yes I'm trying this on a main flow, on the MQInput I see the properties promoted, and on the property tab of the flow I can set them, and being the only promoted props in this sample they are in the default Basic group. But they don't show up on the BAR manage tab. (I tried other props, and verified that some others appear there.)


Then if you're certain it's done correctly you should raise a PMR. This should work, and does work for me.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 03, 2011 2:01 pm    Post subject: Re: Referencing message sets by their ID Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

aerosoul wrote:
I may not have expressed myself the way I wanted, most of the time there should be only one version under development, but in production there will be multiple versions in the same EG, or at least I can not close this possibility out.


So your production system uses multiple versions of the same record layouts (or XML documents) at the same time? Seriously? How do you keep track of which uses what?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jan 03, 2011 7:16 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Quote:
What I'd like to get to is to use SVN for managing Broker source code including msgsets, and to be able to use revision numbers in development, and version numbers just at the end of it. And because there could be multiple versions of the same msgset deployed on the same exec group I need to include the version number in the name, but I'd not like to do that in development phase.

We solved this a little bit differently.
  • Keep the "base" (non versioned) message set in SVN trunk and update it as needed for each version...
  • Copy the "base" message set to a "versioned" message set in the toolkit.
  • Remember to change the "alias" to a versioned alias.
  • Reference the "versioned" message set in your project and Input nodes
  • upload the "versioned" message set used in the build (and referenced in the flow) to the SVN tag.
  • upload the "versioned" message flow, referencing the "versioned" message set into the SVN tag
  • upload the bar file using the flow into the SVN tag


It's a little bit more work but it gives us the right version for both flow (naming convention like java package) and the right message set.

As this is involved with some additional work I won't say it is an ideal solution... but it got the job done for us...

Hope this helps some.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Referencing message sets by their ID
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.