OSGi 采用面向服务的体系结构:捆绑注册服务对象,其他捆绑使用。服务发布和绑定由框架管理。这将服务提供者与服务用户完全分离(除了需要就服务接口达成一致)。
有没有办法限制(通过配置)哪些服务对哪些捆绑可见?
例如,如果我有一个 HttpService,那么所有想要这样做的包都可以将 servlet 安装到其中。我想让选择性捆绑包看不到 HttpService 。
额外积分:除了过滤服务注册之外,还可以修改注册属性。因此,即使捆绑包注册了 Servlet alias=/admin
,我也可以将其更改为alias=/somethingelse
供 Pax Web Extender Whiteboard 使用。