anchor.diff:  `persistence-id="stuff"`, which mean it will load the configuration
   file as `etc/stuff.cfg`.
   
  -include::../../../components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/configadmin-loadfile.xml[]
  +[source,xml]
  +----
  +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
  +           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  +           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
  +           xsi:schemaLocation="
  +             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd
  +             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
  +
  +<!-- blueprint property placeholders, that will use etc/stuff.cfg as the properties file -->
  +<cm:property-placeholder persistent-id="stuff" update-strategy="reload"/>
  +
  +<!-- a bean that uses a blueprint property placeholder -->
  +<bean id="myCoolBean" class="org.apache.camel.test.blueprint.MyCoolBean">
  +  <property name="say" value="${greeting}"/>
  +</bean>
  +
  +<camelContext xmlns="http://camel.apache.org/schema/blueprint">
  +
  +  <route>
  +    <from uri="direct:start"/>
  +    <bean ref="myCoolBean" method="saySomething"/>
  +    <to uri="mock:result"/>
  +  </route>
  +
  +</camelContext>
  +----
   
   Now if you want to unit test this blueprint XML file, then you can override
   the `loadConfigAdminConfigurationFile` and tell Camel which file to
   load as shown below:
   
  -include::../../../components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ConfigAdminLoadConfigurationFileTest.java[]
  -
  +[source,java]
  +----
  +@Override
  +protected String[] loadConfigAdminConfigurationFile() {
  +    // String[0] = tell Camel the path of the .cfg file to use for OSGi ConfigAdmin in the blueprint XML file
  +    // String[1] = tell Camel the persistence-id of the cm:property-placeholder in the blueprint XML file
  +    return new String[]{"src/test/resources/etc/stuff.cfg", "stuff"};
  +}
  +----
   Notice that this method requires to return a `String[]` with 2 values. The
   1st value is the path for the configuration file to load. The second
   value is the persistence-id of the `<cm:property-placeholder>` tag.
  
positive.code: both the Spring style, and the Camel style within the `<camelContext>`
  tag as shown below:
  
  include::../../../components/camel-spring/src/test/resources/org/apache/camel/component/properties/CamelSpringPropertyPlaceholderConfigurerTest.xml[]
  
  Notice how the hello bean is using pure Spring property placeholders using
  the `${}` notation. And in the Camel routes we use the Camel
  
negative.code: When using Blueprint property placeholder in the Blueprint XML file, you
  can declare the properties directly in the XML file as shown below:
  
  [source,xml]
  ----
  <!-- blueprint property placeholders -->
  <cm:property-placeholder persistent-id="my-placeholders" update-strategy="reload">
    <cm:default-properties>
      <cm:property name="greeting" value="Hello"/>
      <cm:property name="destination" value="mock:result"/>
    </cm:default-properties>
  </cm:property-placeholder>
  
  <!-- a bean that uses a blueprint property placeholder -->
  <bean id="myCoolBean" class="org.apache.camel.test.blueprint.MyCoolBean">
    <property name="say" value="${greeting}"/>
  </bean>
  
  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
  
    <route>
      <from uri="direct:start"/>
      <bean ref="myCoolBean" method="saySomething"/>
      <to uri="{{destination}}"/>
    </route>
  
  </camelContext>
  ---
  
  Notice that we have a `<bean>` which refers to one of the properties. And in
  the Camel route we refer to the other using the `{{ }}` notation.
  