当前位置: 首页 > 知识库问答 >
问题:

如何在OSGi蓝图中指定属性文件的位置?

岑和风
2023-03-14

我想指定属性文件的位置,OSGi蓝图属性占位符应从中读取属性值:

<cm:property-placeholder persistent-id="myBundle"/>

<bean
    id="myCoolBean"
    class="test.properties.MyCoolBean">
    <property
        name="echo"
        value="${echo}"/>
</bean>

更新:Configuration felix.configadmin felix.fileinstall适用于我。

我安装了:

org.apache.felix.configadmin-1.8.0.jar

org . Apache . Felix . file install-3 . 1 . 4 . jar

org.eclipse.equinox.cm-3.2.0.jar

I specified VM argument -Dfelix.fileinstall.dir=C:/eclipse/config

myBundle.cfg文件有价值:

回声

共有1个答案

樊运乾
2023-03-14

蓝图中的属性占位符不适用于文件。相反,它使用持久 id 从 ConfigurationAdmin 服务检索配置。

所以解决方案是将felix config admin与felixfileinstall一起安装。因此配置将从文件夹中检索并在ConfigurationAdmin中更新。

apache karaf中,这已经配置好了,但您也可以自己完成。请参阅我的关于配置管理的karaf教程。

如果你想使用普通的felix,那么你可以看看karaf是怎么解决的。例如在config.properties中有felix文件安装的设置。在那里你必须设置包含你的配置的目录。在普通的felix中,这将是框架属性。

这是卡拉夫设定的:

felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir    = ${karaf.etc}
felix.fileinstall.filter = .*\\.cfg
felix.fileinstall.poll   = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
 类似资料:
  • 我在Apache servicemix中安装了一个捆绑包,它使用Apache蓝图进行配置。我正在使用位于/config文件夹中的外部属性文件abc.cfg并按如下方式加载: 通过蓝图 通过java DSL 一切工作正常,但现在我需要将属性文件移动到自定义位置,以便将不同包中的属性文件隔离开来。所以我将abc.cfg移到了/config/myFolder/中,但是我无法用这两种方式为我的包指定新的位

  • 问题内容: 在我的应用程序上下文中,我定义了属性文件: 我想获取JSP页面上该文件中定义的属性的值。有没有办法做到这一点 问题答案: 只能解析Spring配置中的占位符(XML或注释)。在Spring应用程序中使用bean 是非常普遍的。您可以通过这种方式从视图中访问它(假设您正在使用): 然后,在您的JSP中,您可以使用或。

  • 如何在属性文件中映射它? 我试图在Spring Cloud Gateway上遵循此文档 但是,我们我们application.properties. 我尝试了不同的变体,但没有成功: 我得到一个例外: ***************************应用程序启动失败 说明: 无法将spring.cloud.gateway.globalcors.cors-configurations.allo

  • 我是OSGI蓝图的新手,面临着一个奇怪的问题。 我有两个独立的数据库:oracle和h2(用于测试)db 蓝图容器看起来像这样: 显然,上面的服务绑定到了oracleDataSource。datasource.type属性从配置文件中填充,其值为Oracle . JDBC . pool . Oracle data source 现在,我的用例是,假设如果我想稍后编辑配置文件并将datasource

  • 问题内容: 我们曾经有一种从类路径上的文件加载属性的方法: 而且效果很好。但是现在我们要从不在类路径中的系统上的特定文件加载属性。我们希望能够动态加载文件,因此我们使用Java环境变量来填充它。我将在下面给出一个简单的示例: 在Java中: 在Spring XML中: 感谢Luciano的一个想法,我也尝试过这种方法: 我尝试过的一切都失败了。无论我将my.prop.file设置为什么。最热门的歌

  • 我有一个Spring Boot应用程序,代码需要访问resources文件夹下的一个文件。这是我的申请表。属性文件: 然而,它总是抱怨: 我仔细检查了文件夹my_project/target/classes,以确保文件cert.p12存在。 在代码中,我试图访问该文件: 这个类路径到底是什么?为什么它找不到文件?谢谢