我想知道是否可以做等同于
public void start(BundleContext context)
{
String filter = "filter for my specific service";
context.addServiceListener(new MyServiceListener(), filter);
}
使用 Spring DM。我找到了 adding listeners for lifecycle management 的引用资料.但这与被注册服务的生命周期有关。我需要的是了解已注册/未注册特定服务接口(interface)的任何服务的生命周期。
需要知道这一点的包实际上不是正在创建服务,但会使用它。由于此服务的多个实例会在运行时更改,因此我不能简单地在我的 Spring 配置中创建服务引用。
最佳答案
Spring DM 包括对引用服务集合的支持。不幸的是,作为新用户,我不能发布链接,但是这个功能在 Spring DM 1.2 文档的第 7.2.2 节中有描述。随着服务添加到服务注册表和从服务注册表中删除,Spring DM 在运行时自动更新此集合的内容。
当您声明对服务的引用时,无论是作为单个引用还是服务集合,您还可以声明一个监听器 bean,它将在服务来来去去时收到通知。这记录在第 7.2.3 节中。
我建议使用服务列表或服务集,并使用监听器 bean,以便在集合内容发生更改时通知您。
关于java - 使用 Spring DM 添加 ServiceListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/927708/