- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一些 OSGi 包。他们注册服务并获取(当然还有使用)彼此的服务。
我决定使用 ServiceTracker
而不是声明式服务。
当我搜索相关信息时,我发现了两种跟踪服务方法。
第一个是为每个服务创建一个自己的跟踪器类,它扩展 ServiceTracker
类并重写需要重写的方法。然后在激活器类中创建该跟踪器类的新实例,为其提供 bundle 上下文并打开它进行跟踪。
另一种方法是为每个服务创建一个跟踪器类,它实现 ServiceTrackerCustomizer
接口(interface)并重写需要重写的方法。然后在激活器类中创建 ServiceTracker
类的新实例,为其提供捆绑上下文、需要跟踪的服务的名称和我们的新实例定制器类。然后打开它进行跟踪。
这两种方法有什么区别吗?我会说不。在 ServiceTracker javadoc我可以看到 ServiceTracker
类还实现了 ServiceTrackerCustomizer
接口(interface)。
您能告诉我这两种方法的优缺点吗?提前致谢。
最佳答案
这是我的理由:
子类ServiceTracker如果
实现该接口(interface),如果:
如果出现以下情况,请勿直接使用ServiceTracker
关于java - 跟踪 OSGi 服务时,扩展 ServiceTracker 类和实现 ServiceTrackerCustomizer 接口(interface)之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172794/
我正在使用 ServiceTracker 来定位我们 OSGi 环境中的注册服务。我在 Bundle Activator 启动方法中得到了这段代码: logger.debug("looking
假设我们有两个 bundle - BundleA 和 BundleB。 BundleA 包含一项服务。 BundleB 包含 ServiceTracker。 在我看来,只有当bundleB先于Bund
我是 OSGi 的新手,并且已经研究它一段时间了。 我想了解 ServiceTracker、ServiceReference 和 ServiceReferences 在使用上的主要区别以及优势。 我使
OSGi 企业规范定义了两种跟踪方式:按服务或按捆绑。 这两种方式有什么区别?在什么情况下,应该使用一种方法而不是另一种方法? 谢谢 最佳答案 取决于您愿意跟踪的内容。 BundleTracker 跟
我需要使用漂亮的 URL 向 ServiceTracker 注册 servlet,如 api/item/5。 在寻找方法时,我发现了 SO answer看起来它应该完全符合我想要做的,但它对我不起作用
假设我有一个 OSGi 服务 A,使用 DS 和元类型配置进行声明。 然后让我们调用 B 另一个服务,该服务正在基于属性过滤器跟踪任何不属于 A 配置的对象。 在 A 中是否有可能访问服务属性并在运行
我正在使用 OSGi 服务跟踪器,我注意到方法 ServiceTracker.modifiedService(...)永远不会被调用。 我曾尝试使用不同的属性注册服务两次,取消注册等等...,但框架从
我试图了解为服务事件提供了哪些保证。 OSGi 规范说 ServiceEvents 是同步的,我认为这意味着 ServiceListener 将不会收到带有 UNREGISTERING Service
我刚刚开始使用 OSGi 编程,并且遇到了两种监听服务被激活的方法。 第一种方式,来自 EclipseRCP 书籍,使用 ServiceReference: String filter="(objec
在 ServiceTracker 中使用 OSGi BundleActivator 的最佳实践是什么?我在网上看到过一些例子,它们在 start 方法中打开一个跟踪器,将它存储在一个实例变量中,然后在
我正在学习 OSGi 按照这个 Apache Felix Tutorial ,一切都在轮子上进行,直到这个示例 5,我被告知 felix 无法找到该类 org.osgi.util.tracker.Se
我需要在 OSGI 包中使用这个包 import org.osgi.util.tracker.ServiceTracker; 当我尝试使用 Netbeans 编译代码时,找不到此包。你知道我需要添加什
我正在创建一些 OSGi 包。他们注册服务并获取(当然还有使用)彼此的服务。 我决定使用 ServiceTracker 而不是声明式服务。 当我搜索相关信息时,我发现了两种跟踪服务方法。 第一个是为每
我是一名优秀的程序员,十分优秀!