anchor.diff:  [[configprofile]]
   == Config Profile
   
  -Config Profile indicates the project phase, such as dev, testing, live, etc. 
  +Config Profile indicates the project phase, such as dev, testing, live, etc.
   
   === Specify Config Profile
   
  -The config profile can be specified via the property `mp.config.profile`, which can be set in any of the configuration sources. The value of the property can contain only characters that are valid for config property names. 
  +The config profile can be specified via the property `mp.config.profile`, which can be set in any of the configuration sources. The value of the property can contain only characters that are valid for config property names.
   This is because the name of the profile is directly stored in the name of the config property. It can be set when starting your application. e.g.
   
   [source, text]
  
positive.code: java -jar myapp.jar -Dmp.config.profile=testing
  ----
  
  The value of the property `mp.config.profile` shouldn't be updated after the application is started. It's only read once and will not be updated once the `Config` object is constructed. If the property value of `mp.config.profile` is modified afterwards, the behavior is undefined and any changes to its value made later can be ignored by the implementation. 
  
  The value of the property `mp.config.profile` specifies a single active profile. Only one profile can be active at a time. Commas in the value have no special meaning. For example, if the value of `mp.config.profile` is `testing,live`,  a single profile named `testing,live` is active instead of two active profiles. 
  If the property `mp.config.profile` is specified in multiple config sources, the value of the property is determined following the same rules as other configuration properties, which means the value in the config source with the highest ordinal wins.
  
  === How Config Profile works
  
negative.code: ==== On Property level
  The configuration property that utilizes the Config Profile is called a "profile-specific" property. A "profile-specific" property name consists of the following sequence: `% <profile name>.<original property name>`.
  
  Conforming implementations are required to search for a configuration source with the highest ordinal (priority) that provides either the property name or the "profile-specific" property name.
  If the configuration source provides the "profile-specific" name, the value of the "profile-specific" property will be returned. If it doesn't contain the "profile-specific" name, the value of the plain property will be returned.
  
  
  For instance, a config source can be specified as follows.
  