1

我正在使用property-placeholder标签加载属性,如下所示:

<cm:property-placeholder id="myblueprint.test" persistent-id="camel.blueprint"/>

在 JBOSS Fuse 上部署我的项目时,它将camel.blueprint.cfg/etc/FUSE 目录加载,当我在结构配置文件上部署项目时,它将从配置文件中创建的属性文件中读取。

但是,当我运行camel blueprint test时,如何配置它以从特定位置加载属性文件?

4

1 回答 1

3

浏览文档property-placeholder,我得到了解决方案。我们可以在测试用例文件中设置属性文件的位置,如下所示:

@Override
protected String[] loadConfigAdminConfigurationFile() {
    // String[0] = tell Camel the path of the .cfg file to use for OSGi ConfigAdmin in the blueprint XML file
    // String[1] = tell Camel the persistence-id of the cm:property-placeholder in the blueprint XML file
    return new String[]{"src/test/resources/etc/stuff.cfg", "stuff"};
}
  • 请确保属性文件的扩展名为.cfg. 否则将被忽略。
于 2016-12-15T06:55:27.797 回答