Author |
Message
|
zpat |
Posted: Thu Dec 23, 2010 7:45 am Post subject: WMB user configurable services |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Has anyone got any information on how to use the "User Configurable Services" in WMB 6.1.0.8?
Where can they be used in a message flow and how? |
|
Back to top |
|
 |
mqmatt |
Posted: Thu Dec 23, 2010 7:57 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
|
Back to top |
|
 |
zpat |
Posted: Thu Dec 23, 2010 8:27 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Yes, I did mean that.
The reason I was asking is that I have some UDP values such as a URL and proxy name to used for an external web service call (SoapRequest node), that I was hoping to externalise away from the BAR file.
My preference is for the BAR file to remain unchanged from environment to environment (e.g. test to prod) and to have all the relevant references in configurable services.
Seems to be some gaps in the configurable service coverage. We don't have WSRR.
Also can we define our own credentials in mqsisetdbparms and access them in ESQL?
In WMB 7, can we access User Defined Configurable Service values in ESQL? |
|
Back to top |
|
 |
mqmatt |
Posted: Thu Dec 23, 2010 9:11 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
You can't (yet) access configurable service properties from ESQL; you have to call out to Java and get them that way.
It's not as dynamic, but do consider the deployment descriptor, which allows you to define user-define properties at deployment time. If you don't want to modify your BAR file you can always clone it and switch in a new deployment descriptor or apply manual overrides just before deployment (see mqsiapplybaroverride -o). |
|
Back to top |
|
 |
zpat |
Posted: Thu Dec 23, 2010 10:20 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
|
Back to top |
|
 |
KIT_INC |
Posted: Thu Nov 29, 2012 10:29 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Is there any change in V8 on accessing user defined configurable service properties from ESQL ? |
|
Back to top |
|
 |
mgk |
Posted: Mon Dec 03, 2012 1:39 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Quote: |
Is there any change in V8 on accessing user defined configurable service properties from ESQL ? |
No, please raise a requirement if this is something you would like to see added...
Kind regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
kevinobyrne |
Posted: Thu Jan 10, 2013 8:09 am Post subject: |
|
|
 Voyager
Joined: 17 Jul 2007 Posts: 83 Location: Ireland
|
|
Back to top |
|
 |
zpat |
Posted: Thu Jan 10, 2013 8:46 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Vote early, and vote often...! |
|
Back to top |
|
 |
zpat |
Posted: Fri Nov 22, 2013 5:32 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
On the subject of User Defined Configurable Services.
Are these values loaded into storage when the Broker or EG starts?
Or does retrieving them cause I/O activity?
I mention this because we have an app which might use many of these and I need to understand the performance and/or caching implications? _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
Esa |
Posted: Mon Nov 25, 2013 5:23 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
zpat wrote: |
On the subject of User Defined Configurable Services.
Are these values loaded into storage when the Broker or EG starts? |
This changed a bit in version 8. In previous versions I guess they were loaded into storage when the eg started and cached so that you had to restart the eg after having modified them. Now the values are not cached any more -- at least not on eg level -- and you don't need to restart the eg.
zpat, I think it was you yourself who complained about this a couple of years ago, didn't you?
zpat wrote: |
Or does retrieving them cause I/O activity? |
They are fetched from the local broker using Message Broker API, so I think there is no such activity involved.
zpat wrote: |
I mention this because we have an app which might use many of these and I need to understand the performance and/or caching implications? |
There should be no reason to cache the values, the retrieval is fast enough. And even faster if you cache the BrokerProxy object in a singleton.
The drawback is that you need to use java to access the values. It may be hard to justify if the organization otherwise doesn't allow java on Message Broker. I have usually created an utility ESQL function to wrap the java code and made it use a configurable classloader so that the code that gets loaded comes from a jar file in sharedJarPath.
Then I have created a dummy copy of the java project where all the methods have the correct signature but the actual code has been removed. That's for the developers to deploy with the bar files
It would be really nice to finally have an IBM-provided ESQL function for fetching the properties. That should also use it's own classloader. Because in fact I don't think it's a good idea to let message flows access Message Broker API directly, for the obvious reasons. I have myself used it for nosing around in (and sometimes even changing) environments where I thought I didn't have the necessary authority.
So I think I know what I'm talking about.
It would also be nice if you could for example mqsichangeproperties an execution group to not to load Message Broker API for user java code. Should I post an RFE? Or am I being just paranoid? |
|
Back to top |
|
 |
|