Using nested properties

You can use multiple property references to dynamically construct a property within a process step.

About this task

Directly nesting property references, such as ${p:agent/{p:application/prop1}.agent.propertyname}, is not supported. However, you can use system properties to construct outer property references.
When you run a process using this method, property resolution runs multiple passes until no further changes are made. For example, you want to pass ${p:agent/{p:application/prop1}.agent.propertyname} property in a process. In this case, property resolution performs three passes in the following sequence after you run the process:
  1. If application/prop1 resolves to A, the first pass simplifies the expression to ${p:agent/A.agent.propertyname}.
  2. The second pass resolves that property reference to the value of propertyname.
  3. Assuming that the agent/A.agent.propertyname does not contain anymore property reference, the third pass makes no change and the resolution stops.

Procedure

  1. Create the following system properties from the Settings > Properties page:
    Property name Property value
    propStart ${p:
    rightBracket }
  2. In the process step, replace the nested property reference with the following expression:
    ${p:propStart}agent/${p:application/prop1}.agent.propertyname${p:rightBracket}
  3. Run the process.

    The system resolves the property references one at a time after multiple passes until no further changes occur.