-1
我可以在OSGI容器内使用多个服务注册表吗?我想以类似事务的方式在它们之间切换OSGI中的多个服务注册表
我可以在OSGI容器内使用多个服务注册表吗?我想以类似事务的方式在它们之间切换OSGI中的多个服务注册表
您的意思是OSGi服务注册表 - 调整依赖关系和模块之间交互的框架的核心 - 或者您的意思是外部的,可能是远程的服务注册表(SOAP,.NET Web服务等)?
如果你的意思是OSGi Service Registry-不行,那是不可能的。 OSGi Service Registry是框架核心功能的一部分。它负责模块(bundle)之间的数据共享,这是通过OSGi服务(实现不同接口的对象)完成的。它与程序包依赖性处理,OSGI安全性和其他核心功能紧密集成,可通过每个程序包的系统对象BundleContext访问。没有可能重写或扩展它,即使存在,它会在很多原因造成框架混乱 - 例如,有一些单独的服务,如ConfigurationAdmin,不应该重复。
但是,如果您指的是Web服务(或OSGi内核以外的其他类型的服务)的注册表,那么是的,这是可能的。事实上,这些类型的注册管理机构可能也会在OSGi中注册为服务,您可以在它们之间进行选择或在它们之间切换。