如何控制服务可见性

发布于 2024-10-16 22:08:54 字数 237 浏览 2 评论 0原文

有没有办法根据监听器的过滤器来控制服务的可见性?

我很失望地发现 EventHook 服务只能控制哪些bundle接收 ServiceEvent。不应该是哪些侦听器接收事件吗?它应该是类似于 ListenerHook.ListenerInfo 的集合,而不是上下文的集合。

是否有其他方法可以控制哪些侦听器接收事件?我想强制执行强制过滤属性来接收服务,可以吗?

Is there a way to control the visibility on services based on the filter of the listener?

I was disappointed to realize that the EventHook service can only control which bundles receive a ServiceEvent. Shouldn't it be which listeners receive the event? Instead of a collection of contexts it should be a collection of something similar to ListenerHook.ListenerInfo.

Is there another way I can control which listeners receive the events? I want to enforce a compulsory filter property to receive services, is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

日暮斜阳 2024-10-23 22:08:54

在 Core 4.3 中,我们添加了 EventListenerHook 来取代 EventHook。它会让
您在听众级别进行过滤。目前,这已在
如果您想尝试一下,可以构建 Equinox 3.7。

引用 BJ Hargrave 在 osgi-dev 邮件列表上对同一问题的回答。

In Core 4.3 we add EventListenerHook which replaces EventHook. It will let
you filter at the listener level. This is currently implemented in the
Equinox 3.7 builds if you wish to experiment with it.

Quote of BJ Hargrave from an answer to the same question on osgi-dev maillist.

以酷 2024-10-23 22:08:54

我想你正在寻找

org.osgi.framework.BundleContext.addServiceListener(ServiceListener, String)

I think you are looking

org.osgi.framework.BundleContext.addServiceListener(ServiceListener, String)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文