Author |
Message
|
khogan4unumcom |
Posted: Wed Nov 29, 2017 1:53 pm Post subject: UserDefinedConfigurableService - where is it stored in V10? |
|
|
Newbie
Joined: 28 Sep 2017 Posts: 8
|
Hello, I have read thru the posts I can find regarding User Defined Configurable Services. I found two that mention a location it should be stored in. However, I cannot find mine using those two examples. Could someone please provide a little more specific info re where the configurable service flat file would be located in version 10.0.0.10?
Also, can you tell me the advantages of using a UserDefinedConfigurable service over bar file overrides? I am working on a POC to prove which method is best. What I think is 1) UDCS allows the same bar file to be deployed to each environment. ie there is no longer a need to build a separate bar file using overrides for the environment-related properties. 2) changes to the properties values can be made with building and redeploying the bar file 3) the UDCS properties are retrieved and stored in memory when an execution group starts.
Thanks, |
|
Back to top |
|
 |
abhi_thri |
Posted: Thu Nov 30, 2017 1:25 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Hi...the user defined files goes in here,
<workpath>/mqsi/registry/<node>/CurrentVersion/ExternalResources/UserDefined/UserDefined/<objectname>
user mqsireportbroker <node> to find the workpath used by the node, if the shared-workpath is set I think that takes precedence.
Don't think your first assumption is fully correct ' ie there is no longer a need to build a separate bar file using overrides for the environment-related properties'...you don't need to build a separate bar per environment as such, for eg:- you could keep the same bar at source repository can then override the param during deployment.
Are you mainly using JCN, because as per infocenter user defined config services are accessible by JCN only and not via ESQL. From what I've seen if the property can be set via normal config services that is usually the preferred way, if not BAR overrides are used...User defined ones are used when you are dealing with a custom properly (I had used it previously to set some jdbc connection params for a DB2 AS400 connection via JCN). |
|
Back to top |
|
 |
zpat |
Posted: Thu Nov 30, 2017 1:38 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Surely you should just be defining UD configurable services using the appropriate MQSI commands (or message broker explorer, or the Admin UI) and not messing about in the file system? _________________ 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 |
|
 |
khogan4unumcom |
Posted: Thu Nov 30, 2017 6:42 am Post subject: user defined configurable services |
|
|
Newbie
Joined: 28 Sep 2017 Posts: 8
|
I am working on a POC. Our goal is to have only one bar file that is deployed to all environments and a UDCS for each environment. we can then provide these bar files and commands to our deployment team.
We are planning to use the UDCS to replace several bar file overrides we use today to create different bar files for each environment. Examples of these environmental overrides include ODBC connection information, urls and queue names.
I want to know where the UDCS file is located in order to determine when changes take effect.
For example, if I add or change a new url used for calling another flow, when is it effective? my understanding is that a UDCS is read when an ex grp is started and stored in memory. I am trying to verify this understanding.
Also trying to determine if we should have a separate UDCS for environmental type values and then one per flow per environment or whether we should have one per flow and repeat all the environmental values in each flow-specific UDCS.
We currently store override values in a .properties file and apply them to the base bar file using the mqsiapplybaroverride command.
Here is an example of the values we currently are overriding:
#UDP_xx1ConfigURL = http://xxx/api/v1/Configuration
#UDP_xx2ConfigURL = http://xxx/v1/Configurations
#UDP_MaxRetryCount = 5
#UDP_ErrorQueueName = XXX.XXX
#UDP_XXXAPIKey =xxxxx
Any feedback or suggestions is most welcome.
Thanks |
|
Back to top |
|
 |
khogan4unumcom |
Posted: Thu Nov 30, 2017 6:56 am Post subject: |
|
|
Newbie
Joined: 28 Sep 2017 Posts: 8
|
Missed addressing a couple of questions.
We are using the IBM supplied config services, when they exist.
We are using a called java function to retrieve the UDCS values and it is working.
We have a separate area that does our deployments, and they don't know much about IIB. Also, we have 18 environments.
It seemed that configurable services, those supplied by IBM as well as user defined, were discussed quite a bit at the last Interconnect. So, basically trying to learn about UDCS and whether using them might be a better approach than overridess.
Thanks, |
|
Back to top |
|
 |
zpat |
Posted: Thu Nov 30, 2017 8:15 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Define all configurable services using the appropriate MQSI (IIB) command.
Or use MBX or use the Admin UI.
Do not muck about at low level in the broker file system. _________________ 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 |
|
 |
khogan4unumcom |
Posted: Thu Nov 30, 2017 9:20 am Post subject: |
|
|
Newbie
Joined: 28 Sep 2017 Posts: 8
|
We are using the Admin UI to create the UDCS.
I want to know whether the UDCS file is read at ex grp start only or whether the UDCS file is re-read after/during a message flow deployment. My understanding is that the UDCS values are stored in memory for the ex grp.
Perhaps other questions will help. Do you recommend that each message flow have it's own UDCS (for properties pertaining to environment) OR can we have ONE UDCS per environment?
When using one UDCS per environment (multiple flows use the same UDCS) and we make a change to an existing value, when would the value be updated in memory?
Thanks for the quick responses. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 05, 2017 3:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
khogan4unumcom wrote: |
We are using the Admin UI to create the UDCS.
I want to know whether the UDCS file is read at ex grp start only or whether the UDCS file is re-read after/during a message flow deployment. My understanding is that the UDCS values are stored in memory for the ex grp.
Perhaps other questions will help. Do you recommend that each message flow have it's own UDCS (for properties pertaining to environment) OR can we have ONE UDCS per environment?
When using one UDCS per environment (multiple flows use the same UDCS) and we make a change to an existing value, when would the value be updated in memory?
Thanks for the quick responses. |
My understanding is that UDCS variables are read on demand the first time (if the broker is already running for new values) and then cached at an Integration Node or Broker level... They are loaded at Broker start... So no the cache is not at the eg level.
If the value is specific to a flow, and not a DB or other type of connection specially catered for in CS, perhaps using a policy or mqsiapplybaroverride for the environment is more appropriate...
Hope it helps  _________________ MQ & Broker admin |
|
Back to top |
|
 |
khogan4unumcom |
Posted: Tue Dec 05, 2017 5:41 am Post subject: |
|
|
Newbie
Joined: 28 Sep 2017 Posts: 8
|
Thanks. that is what I needed to know. |
|
Back to top |
|
 |
|