Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

sling context aware configuration context-aware-configuration-bnd-plugin not working as expected

srikanthg212933
Level 3
Level 3

Hi Everyone,

 

I am trying to use sling context aware configurations inside AEM 6.5 project to store some configurations.

As described here https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configurati...

 

I have tried adding bnd statement with below plugin

org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin

 But still my bundle is not able to identify configuration files (annotated with @Configuration) after deploying it into OSGI.

And If i manually add like below then only it started identifying 

Sling-ContextAware-Configuration-Classes:com.abc.caconfigs.MySampleConfig

 Could you guys please let me know how can we do it without adding each class names and should make it work with only plugin? .

1 Accepted Solution
Jörg_Hoh
Correct answer by
Employee
Employee

I have a working example at https://github.com/joerghoh/cqdump/tree/master/ca-config-example which also includes the mentioned plugin.

The maven-bundle-plugin is configured here: https://github.com/joerghoh/cqdump/blob/master/ca-config-example/core/pom.xml

 

Jörg

 

// Update: I do use the maven-bundle-plugin and not the bnd-maven-plugin.

View solution in original post

6 Replies
Jörg_Hoh
Correct answer by
Employee
Employee

I have a working example at https://github.com/joerghoh/cqdump/tree/master/ca-config-example which also includes the mentioned plugin.

The maven-bundle-plugin is configured here: https://github.com/joerghoh/cqdump/blob/master/ca-config-example/core/pom.xml

 

Jörg

 

// Update: I do use the maven-bundle-plugin and not the bnd-maven-plugin.

View solution in original post

Jörg_Hoh
Employee
Employee
As far as I can see both my pom.xml and the referenced documentation use the maven-bundle-plugin.
Arun_Patidar
Community Advisor
Community Advisor

Did you tried below ?

<plugin>
				<groupId>biz.aQute.bnd</groupId>
				<artifactId>bnd-maven-plugin</artifactId>
<configuration>
					<bnd><![CDATA[
						-plugin org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin
                                ]]></bnd>
				</configuration>
				<executions>
					<execution>
						<id>bnd-process</id>
						<goals>
							<goal>bnd-process</goal>
						</goals>
						<configuration>
							<bnd><![CDATA[
						Bundle-Category: MyApp
						Sling-Model-Packages: com.aem.core.models
						-snapshot: ${tstamp;yyyyMMddHHmmssSSS}
						Bundle-DocURL:
                                ]]></bnd>
						</configuration>
					</execution>
				</executions>
			</plugin>

 

Eason_Pai
Employee
Employee

Its not working even though instructions in sling doc are followed, but i figured it out that you need to manually append this line to the bnd-process before the actual ConfigurationClassScannerPlugin in plugin bnd-maven-plugin

 

Sling-ContextAware-Configuration-Classes: 

ca-config-pom.png

Then you generated required headers in the MENIFEST file. At this moment i cannot tell you why, but it works for me.

Jörg_Hoh
Employee
Employee

I hope, that the order does not matter. But if the documentation is not accurate anymore and the plugin does not work correctly, I would recommend to discuss this at the Sling lists.