Setting message flow user-defined properties at run time by using a custom integration application

Use the IBM® Integration API to query, discover, and set message flow user-defined properties dynamically at run time. You can use the IBM Integration API to set properties with a data type of character.

Before you begin

For user-defined properties on a message flow to be discoverable, the message flow must comply with the following conditions:
  • The message flow must contain at least one of the following nodes:
    • JavaCompute
    • Compute
    • Database
    • Filter
  • The message flow must define the relevant user-defined property and provide an override value.

About this task

Tip: Use meaningful names and values for the properties that you define, so that you can understand their purpose and intent quickly. For example, a user-defined property named property01, with an initial value of valueA is not as useful as a property named RouteToAorB with an initial value of RouteA.

To query, discover, and set user-defined properties on a message flow, use the IBM Integration API to issue the following calls. For details about the calls, including the syntax and parameters to use, see the IBM Integration API documentation (IBM Integration API).


  1. Call MessageFlowProxy.getUserDefinedPropertyNames() to retrieve a list of all the user-defined properties that were defined by the Message Flow editor on the message flow or subflows.

    A string array is returned that contains the property names.

  2. Call MessageFlowProxy.getUserDefinedProperty() to retrieve the value of the specified user-defined property.

    The value of the property is returned as a Java™.lang.String value.

  3. Call MessageFlowProxy.setUserDefinedProperty() to set a new value for the specified user-defined property.

    The property must exist. You cannot change the data type of the existing user-defined property (Java.lang.String); therefore, you must ensure that the new value complies with the existing data type.

    The value that you set with the MessageFlowProxy.setUserDefinedProperty() call is populated to all relevant nodes in the message flow, including nodes in subflows.