如何实现监督 bundle 之间所有流量的 OSGi-Listener

How to implement an OSGi-Listener that supervises all traffic between bundles

在我们当前的 osgi 项目中,我们希望第三方开发人员能够编写他们自己的包并将它们注册为 osgi 服务。我们想让所有 流量 绕过检查授权、安全、权限的中央包...

我们的第一种方法是强制这些捆绑包调用中央服务来调用其他服务。这种方法似乎行不通。

是否可以安装一个侦听器来获取捆绑包之间发送的所有流量并因此可能执行某些操作?

提前致谢, 托马斯

不是真的。但是,您可以使用服务挂钩启用中央捆绑包来观察所有服务注册并对所有消费者隐藏它们。然后,这个中央捆绑包可以注册消费者将看到的包装器替换服务。这将允许中央包 "intercept" 所有服务调用。

这使得中央束是一个神一般的位置,无法轻松动态更新。