我有Tomcat处女座服务器。我正在部署几个OSGi包。我想通过属性公开设置,因此bundle中的服务可以通过Java System.getProperty(String)
API读取它。有可能吗?
答案 0 :(得分:1)
您应该使用OSGis ConfigurationAdmin 来执行此操作。您可以将属性文件部署到 [VIRGO_HOME] / pickup 中,然后通过配置 pid 使用 ConfigurationAdmin 服务中的属性。 Virgo会在其拾取文件夹中识别您的属性文件,并通过 ConfigurationAdmin 服务自动公开它们。如果您使用计划将捆绑包部署为应用程序,也可以在计划文件中列出属性文件。
有关详细信息,请参阅Virgo文档页面[1]上的官方文档。
如果您使用的是Spring / Blueprint,您可以像以前一样坚持使用属性占位符。只需使用osgix命名空间处理程序并执行以下操作:
<osgix:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
<prop key="host">localhost</prop>
</osgix:cm-properties>
默认情况下, persistent-id 或 pid 是属性文件的名称。如需进一步参考,请查看Gemini Blueprint Documentation [2]。