Я работаю с OSGi R7
, и у меня есть случай, когда было бы удобно использовать один файл конфигурации для двух отдельных служб, вместо нового файла конфигурации для каждой службы. Я попытался с помощью свойства @Component
name установить общий конфигурационный файл, но это не сработало (например, предупреждение / ошибка с повторяющимся PID - см. Ниже).
Еще я попробовал определить интерфейс конфигурации службы только в одной службе и попытался использовать его в обеих, но, похоже, это тоже не работает, так как я не перехватываю точку останова в моем методе @Activate
второго сервиса .
@ObjectClassDefinition(name = "My 1st Service Config")
@interface FirstServiceConfig {
String filePath() default "/path/to/my/file";
}
@Component(immediate = true, name = "com.my.generic.config", configurationPolicy = ConfigurationPolicy.REQUIRE, service = {
FirstService.class })
@Designate(ocd = FirstServiceConfig.class)
@ObjectClassDefinition(name = "My 2nd Service Config")
@interface SecondServiceConfig {
String filePath() default "/path/to/my/file";
}
@Component(immediate = true, name = "com.my.generic.config", configurationPolicy = ConfigurationPolicy.REQUIRE, service = {
SecondService.class })
@Designate(ocd = SecondServiceConfig.class)