我可以为 Virgo OSGi 包创建单独的属性文件吗?
Can i create separate properties file for Virgo OSGi bundle?
我有 Tomcat Virgo 服务器。我正在部署几个 OSGi 包。我想通过属性公开设置,以便捆绑包中的服务可以通过 Java System.getProperty(String)
API 读取它。可能吗?
您应该使用 OSGis ConfigurationAdmin 来执行此操作。您可以将属性文件部署到 [VIRGO_HOME]/pickup,然后通过配置 ConfigurationAdmin 服务使用属性 pid。 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 蓝图文档 [2]。
我有 Tomcat Virgo 服务器。我正在部署几个 OSGi 包。我想通过属性公开设置,以便捆绑包中的服务可以通过 Java System.getProperty(String)
API 读取它。可能吗?
您应该使用 OSGis ConfigurationAdmin 来执行此操作。您可以将属性文件部署到 [VIRGO_HOME]/pickup,然后通过配置 ConfigurationAdmin 服务使用属性 pid。 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 蓝图文档 [2]。