|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
UDPs across multiple broker schemas |
« View previous topic :: View next topic » |
Author |
Message
|
silly_name |
Posted: Tue Oct 26, 2021 1:53 pm Post subject: UDPs across multiple broker schemas |
|
|
Newbie
Joined: 26 Oct 2021 Posts: 5
|
Hi there,
I'm trying to make sense of a relatively simple topic: User Defined Properties.
IIB10.0.0.12 on CentOS 7.9.2009.
My question is somewhat similar to t=30512.
I have an app APP which references a shared library SHLIB. The shared library contains a subflow with a compute node (c1). The app contains a message flow which in turn contains the subflow and another compute (c2) node. The message flow and the subflow (and associated ESQLs) are defined under different broker schemas.
I would like to make use of an user defined property in both compute nodes, but couldn't find a straightforward way to do so.
The InfoCenter says:
Quote: |
The value of the UDP is set at the message flow level, and is the same for all eligible nodes that are contained in the flow. An eligible node is a node that supports UDPs and is within the scope of the declaration that declares the UDP to your application. For example, if you use the Message Flow editor to change the value of a user property called timezone, which is declared in a schema called mySchema, in a message flow called myFlow, the UDP is available at run time to all the nodes in myFlow that support UDPs and that fall within mySchema.
If you use the Message Flow editor to change the value of a user-defined property in a subflow, the newly edited property is available to all the nodes in the subflow that support UDPs, and that are within the scope of the declaration. The property is not available, for example, to nodes in the parent flow.
Nodes in the subflow do not see a UDP value that is set on the main flow.
To have a value that is available to both the main and subflow, define UDPs in the subflow and then promote them to the main flow. Set the value in the main flow. |
I have attempted to do as above and defined the UDP in an ESQL at schema level in the shared library:
Code: |
BROKER SCHEMA test.shared
DECLARE TEST_SHARED_UDP EXTERNAL CHARACTER '';
|
I can use it just fine in c1, but not in c2, where I have:
Code: |
SET chrDEBUG = TEST_SHARED_UDP; |
Toolkit tells me:
Quote: |
Identifier "TEST_SHARED_UDP" cannot be resolved |
I have also tried to make use of PATH but that only seems to help for ESQL functions/procedures, it won't make EXTERNAL variables available.
If I declare the same UDP at the app broker schema level, I get rid of the error and can deploy fine, but the value is only available at the subflow level.
If I try to define the UDP at the message flow level, it tells me that a property with this name already exists (the promoted one).
Am I missing something obvious here?
Thank you,
B |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 27, 2021 10:03 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You may need a procedure in test.shared that you can access and that will return the value of the external (UDP) variable. It is a matter of scope. When you are trying to retrieve the value in C2 the UDP variable is not in scope  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|