@debal_das
Sorry it didnt work and we have same issue.
We deleted the config and made some small update in the config file in crx. and observed config got recreated but values are empty and still PID is not linked to config class.
Here is my sample OSGi configuration associated with Scheduler -
package com.aem.demo.core.configurations;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.AttributeType;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
@ObjectClassDefinition(name = "Resource Expiration scheduler configuration", description = "Resource Expiration scheduler configuration")
public @interface ExpirationSchedulerConfiguration {
/**
* This method will return the name of the Scheduler
*
* @return {@link String}
*/
@AttributeDefinition(name = "Scheduler name", description = "Name of the scheduler", type = AttributeType.STRING)
public String schdulerName() default "Expiration scheduler configuration";
/**
* This method will set flag to enable the scheduler
*
* @return {@link Boolean}
*/
@AttributeDefinition(name = "Enabled", description = "True, if scheduler service is enabled", type = AttributeType.BOOLEAN)
public boolean enabled() default false;
/**
* This method returns the Cron expression which will decide how the scheduler
* will run
*
* @return {@link String}
*/
@AttributeDefinition(name = "Cron Expression", description = "Cron expression used by the scheduler", type = AttributeType.STRING)
public String cronExpression() default "0 * * * * ?";
/**
* This method returns the Asset Path
*
*
* @return {@link String}
*/
@AttributeDefinition(name = "Asset Path", description = "Asset Path", type = AttributeType.STRING)
public String assetPath() default "/content/dam";
@AttributeDefinition(name = "Page Taxonomy", description = "Page Taxonomy", type = AttributeType.STRING)
public String contentPath() default "/content/we-retail";
}This is Scheduler where I am reading the above OSGi configuration -
package com.aem.demo.core.configurations;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.AttributeType;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
@ObjectClassDefinition(name = "Resource Expiration scheduler configuration", description = "Resource Expiration scheduler configuration")
public @interface ExpirationSchedulerConfiguration {
/**
* This method will return the name of the Scheduler
*
* @return {@link String}
*/
@AttributeDefinition(name = "Scheduler name", description = "Name of the scheduler", type = AttributeType.STRING)
public String schdulerName() default "Expiration scheduler configuration";
/**
* This method will set flag to enable the scheduler
*
* @return {@link Boolean}
*/
@AttributeDefinition(name = "Enabled", description = "True, if scheduler service is enabled", type = AttributeType.BOOLEAN)
public boolean enabled() default false;
/**
* This method returns the Cron expression which will decide how the scheduler
* will run
*
* @return {@link String}
*/
@AttributeDefinition(name = "Cron Expression", description = "Cron expression used by the scheduler", type = AttributeType.STRING)
public String cronExpression() default "0 * * * * ?";
/**
* This method returns the Asset Path
*
*
* @return {@link String}
*/
@AttributeDefinition(name = "Asset Path", description = "Asset Path", type = AttributeType.STRING)
public String assetPath() default "/content/dam";
@AttributeDefinition(name = "Page Taxonomy", description = "Page Taxonomy", type = AttributeType.STRING)
public String contentPath() default "/content/we-retail";
}As I am reading OSGi configuration in above scheduler so, PID is pointing to Scheduler Class itself as shown below -

I have deployed everything on local AEM author instance and every time I am modifying contentpath in CRXDE here /apps/demo/osgiconfig/config.author/com.aem.demo.core.schedulers.ResourceExpirationScheduler.config and change is getting reflected in config manager /system/console/configMgr.
My sample OSGi configurations is getting stored in file system under following path
C:\Users\debal\AEM-instances\demo-author\crx-quickstart\launchpad\config\com\aem\demo\core\schedulers here -

If we take close look this path is nothing but
<AEM-instance-installed-directory>/crx-quickstart/launchpad/config/PID