0
在spring动态模块中,当从属捆绑包的服务提供者捆绑包被禁用时会发生什么情况。他们也会被停用吗?Bundle在Spring中的停用OSGI
在spring动态模块中,当从属捆绑包的服务提供者捆绑包被禁用时会发生什么情况。他们也会被停用吗?Bundle在Spring中的停用OSGI
服务提供者和消费者之间不应该有直接的依赖关系,因为服务接口应该在实现者之外声明。
当服务被停用时,Spring注入服务(它是代理服务器)的使用者将仅尝试访问服务,并且如果代理在超时期限内找不到合适的服务实现,则最终会失败(我相信它默认为5分钟)。这与OSGi的动态特性是一致的,在这种特性中,服务引用意味着能够在运行时添加和删除。在这样一个动态环境中的应用程序必须意识到这一点,并进行适当的编码以处理服务可能并不总是可用的事实。
而且他们也应该非常清楚这些服务必须是无状态的......另外,一般来说,服务提供者捆绑包应该将服务包添加到他们的出口,因为它们与此API紧密耦合,不像消费者从后向受益兼容性。他们应该总是导入服务API包。 – 2013-03-13 08:10:40