我有Tomcat处女座服务器。我正在部署几个OSGi包。我想通过属性公开设置,因此bundle中的服务可以通过Java System.getProperty(String)
API读取它。可能吗 ?我可以为处女座OSGi包创建单独的属性文件吗?
0
A
回答
1
您应该使用OSGis ConfigurationAdmin来做到这一点。您可以将您的属性文件部署到[VIRGO_HOME] /代收,然后从ConfigurationAdmin消耗属性pid。处女座可以在您的皮卡文件夹中识别您的属性文件,并通过ConfigurationAdmin服务自动公开它们。如果您使用计划将捆绑包部署为应用程序,则还可以在计划文件中列出属性文件。
欲了解更多详情,请参阅处女座文件页[1]的官方文件。
如果您使用的是Spring/Blueprint,那么您可以像以前一样坚持使用属性占位符。只需使用osgix命名空间处理和做这样的事情:
<osgix:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
<prop key="host">localhost</prop>
</osgix:cm-properties>
由于默认情况下持久ID或PID是你的属性文件的名称。有关进一步参考,请参阅双子座蓝图文档以及[2]。