编程语言
首页 > 编程语言> > java – 使用Spring DM添加ServiceListener

java – 使用Spring DM添加ServiceListener

作者:互联网

我想知道是否有可能做相同的

public void start(BundleContext context)
{  
    String filter = "filter for my specific service";
    context.addServiceListener(new MyServiceListener(), filter);
}

与Spring DM.我找到了adding listeners for lifecycle management的参考资料.但这与正在注册的服务的生命周期有关.我需要知道注册/取消注册特定服务接口的任何服务的生命周期.

需要知道这一点的捆绑包实际上并不是在创建服务,而是会使用它.由于此服务的多个实例将在运行时更改,因此我不能简单地在Spring配置中创建服务引用.

解决方法:

Spring DM支持引用一组服务.不幸的是,作为一个新用户,我无法发布链接,但是这个功能在Spring DM 1.2文档的7.2.2节中有所描述. Spring DM会在服务注册表中添加和删除服务时自动更新此集合的内容.

当您在服务上声明引用时,无论是作为单个引用还是作为服务集合,您还可以声明一个侦听器bean,该bean将在服务来来往往时收到通知.这在第7.2.3节中有记录.

我建议使用List或Set服务,并使用监听器bean,以便通知您对集合内容的更改.

标签:java,osgi,spring-dm
来源: https://codeday.me/bug/20190705/1386413.html