如何解决如何在karaf中检测修改的注入服务?
我有一个通过依赖项注入依赖于服务b的服务A。当服务B的关联配置文件更改时,它将运行@Modified方法。更新服务B的配置文件后,如何使服务A重新启动?也许有某种服务可以检索所有消耗服务的列表?
服务B
@Component(
name = "my.services.ServiceB",immediate = true,configurationPolicy = ConfigurationPolicy.REQUIRE
)
@Designate(
ocd = ServiceBConfig.class
)
public class ServiceBImpl implements ServiceB {
public ServiceBImpl() {}
@Activate
@Modified
protected void start(ServiceBConfig serviceBConfig) {
// code
}
}
服务A
@Component(
immediate = true,designateFactory = ServiceAConfig.class,name = "my.services.serviceA"
)
public class Serviceaimpl implements ServiceA {
private ServiceB serviceB;
private ConfigurationAdmin configurationAdmin;
@Reference
void setServiceB(ServiceB serviceB) {
this.encryptionService = encryptionService;
}
@Reference
public void setConfigurationAdmin(ConfigurationAdmin admin) {
this.configurationAdmin = admin;
}
@Activate
@Modified
void activate(BundleContext bundleContext,Map<String,Object> configuration) {
// code
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。