Config Manager Properties where are they saved? AEM 6

We know the flexibility that we get out of OSGI container where we can edit values and those values are saved immediately. The next request starts picking up the values that the sys admin just put in.

The values are stored under /crx-quickstart/config directory. Basically osgi will find out the PID of the class/bundle and creates directories within the config directories.

So for example, Login Authentication Handler the values are stored under com/day/cq/auth/impl/LoginSelectorHandler.config.

If you change the value in the server itself the values are not picked up by the OSGI container, you have to do a restart if you want OSGI to pick up the values that you have change manually.

Checkboxes Osgi property via run modes/ Setup checkboxes for osgi

If you want to create checkboxes for your OSGI properties then you can do it by having boolValue attribute assigned to Property annotation.

@Property(boolValue = false/true)
public static final String XYZ_PROPERTY¬†= “xyz.property”;

private boolean xyz;

Retrieving these properties is also simple, you can simply do it like this

@Activate
public void activate(final Map<String, String> properties) {

this.xyz = PropertiesUtil.toBoolean(properties.get(XYZ_PROPERTY ), false);

}

But sometimes you will run into situations where you would need to override these values from OSGI config. If you remove the boolValue from property annotation then the property will be treated as String instead of Boolean.

Example: you want checkbox checked for this above property from OSGI and you somehow don’t want to do it via code because this might change for environments

In your run mode file, if you have the below property and boolValue within the property annotation in the code, you are sorted.

xyz.property=”{Boolean}true”