0

我有 Tomcat 处女座服务器。我正在部署几个 OSGi 包。我想通过属性公开设置,因此捆绑包中的服务可以通过 Java System.getProperty(String)API 读取它。可能吗 ?

4

1 回答 1

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-idpid是您的属性文件的名称。如需进一步参考,请查看 Gemini Blueprint Documentation [2]。

[1] http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-programmer-guide/htmlsingle/virgo-programmer-guide.html#developing-applications-configuration - 人工制品

[2] http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/compendium.html#compendium:cm

于 2015-12-08T11:32:20.533 回答