The way <cm:property-placeholder> works is that you define your properties and their default values in your xml file(s).
If you want to override these default values for a given environment, you have to use a .cfg file that you deploy in $FUSE_HOME/etc.
Its name has to be the persistent-id you chose followed by .cfg.
Here is an example:
<cm:property-placeholder persistent-id="my.properties" update-strategy="reload"> <cm:default-properties> <cm:property name="errorhandler.internal.endpoint" value="direct-vm:error" /> </cm:default-properties> </cm:property-placeholder>
So now if you place a file called my.properties.cfg in $FUSE_HOME/etc, with the content below, it will override the value for your property:
But you are referring to using Config admin. In theory, I believe that meta type should work the same way - and it does after initial deployment. But my problem is that on initial deployment it seems like the meta type properties aren't available to the bundle. By adding default properties they become available but then editing their values doesn't make any difference until the default properties are removed and the bundle is redeployed.
Ok, penny dropped! So when using meta type I still need to provide a file in etc to create the properties.