A new property configurator service has been developed for taking care of configuring system properties from the inline kernel configuration or from specified property files.
The services is scoped at the root container level because it is used by all the services in the different portal containers in the application runtime.
The properties init param takes a property declared to configure various properties.
<component>
<key>PropertyManagerConfigurator</key>
<type>org.exoplatform.container.PropertyConfigurator</type>
<init-params>
<properties-param>
<name>properties</name>
<property name="foo" value="bar"/>
</properties-param>
</init-params>
</component>
The properties URL init param allow to load an external file by
      specifying its URL. Both property and XML format are supported, see the
      javadoc of the java.util.Properties
      class for more information. When a property file is loaded, the various
      property declarations are loaded in the order in which the properties
      are declared sequentially in the file.
<component>
<key>PropertyManagerConfigurator</key>
<type>org.exoplatform.container.PropertyConfigurator</type>
<init-params>
<value-param>
<name>properties.url</name>
<value>classpath:configuration.properties</value>
</value-param>
</init-params>
</component>
In the properties file corresponding to the external properties, you can reuse variables before defining to create a new variable. In this case, the prefix "portal.container." is not needed, see an example below:
my-var1=value 1
my-var2=value 2
complex-value=${my-var1}-${my-var2}