Using nested properties

You can use a property reference to construct the name of another property in a component 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 the outer property reference. Property resolution performs two passes after you run the component process. The first pass creates the property name, and the second pass resolves that property name.

Procedure

  1. Create the following system properties from the Settings > Properties page:
    Property name Property value
    propStart ${p:
    rightBracket }
  2. In the component process step, replace the nested property reference with the following expression:
    ${p:propStart}agent/${p:application/prop1}.agent.propertyname${p:rightBracket}
  3. Run the component process.
    After you run the component process, property resolution performs two passes. In the first pass, if application/prop1 resolves to A, the expression becomes ${p:agent/A.agent.propertyname}. During the second pass, this property name is resolved and its value is returned.