Read config nodes inside a non service class | Community
Skip to main content
New Participant
September 13, 2017
Solved

Read config nodes inside a non service class

  • September 13, 2017
  • 5 replies
  • 2362 views

How to read config nodes inside a non service class.

I have a configuration created in felix console. I want to read that property in one of my helper class.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by minisanu

Thanks Everyone...Sorry for the delayed reply..I lost track of my password and got it reset again. I have created a configAdmin and it is working fine

5 replies

minisanuAuthorAccepted solution
New Participant
October 9, 2017

Thanks Everyone...Sorry for the delayed reply..I lost track of my password and got it reset again. I have created a configAdmin and it is working fine

joerghoh
Employee
September 13, 2017

Do not use the ConfigAdmin directly, I would consider this an Antipattern. A service/component should only read its own properties, but not read the property of other services, these are typically implementation details. If you really need to know something about other services, extend their interface and provide the information via the public API of this service. Then the compiler can support you to write robust code.

Jörg

Ratna_Kumar
New Participant
September 13, 2017

Hi,

I agree with Scott!! You should look into the article mentioned

//Adobe Experience Manager Help | Reading Adobe Experience Manager OSGi Configuration Values

~Ratna

smacdonald2008
New Participant
September 13, 2017

We have an article that shows you how to read node values -- Scott's Digital Community: Reading AEM OSGi Configuration Values

viveksachdeva
New Participant
September 13, 2017

To read values of config, you need to get reference of ConfigurationAdmin which is only possible if your class is an OSGi component. If there is a helper class where you want to read such properties, you need to pass ConfigurationAdmin object to that method and then read the properties.

Something like:

String fetchConfigValue(ConfigurationAdmin cfgAdmin, String pid, String key){

....

}