Qpid 0.5 and later supports using multiple configuration files. This is useful for seperating server-wide and instance-specific configuration settings.
The top level combined configuration file might contain the following:
<configuration>
<system/>
<xml fileName="/path/to/config"/>
<xml fileName="/path/to/local/config"/>
</configuration>
The <system/> element is important to ensure proper substitution of system properties.
The file referenced by "/path/to/config" might contain:
<broker>
<management>
<enabled>true</enabled>
<ssl>
<enabled>true</enabled>
<keyStorePath>${prefix}/../test_resources/ssl/keystore.jks</keyStorePath>
<keyStorePassword>password</keyStorePassword>
</ssl>
</management>
</broker>
and "/path/to/local/config":
<broker>
<management>
<jmxport>8999</jmxport>
</management>
</broker>
The values from /path/to/config would override any set in /path/to/local/config since they are defined first, but this would result in all instances using the same keyStore and keyStorePassword without running on the same jxmport (whether this is a good idea to follow or not obviously depends on your environment).
A more complete example can be found attached to this page: