如何在Apache Camel 2.12中重新加载属性文件?

时间:2016-05-02 13:44:40

标签: java apache-camel jbossfuse property-placeholder

我想做两件事:将属性加载到bean中,并在更新属性时更新bean。

我使用JBoss Fuse 6.1来安装我的应用程序包,并在服务器上有一个属性文件,我需要阅读一些配置。这些属性有以下几行:

mediaTypeList=JSON,DOCX,TXT

我有一个Java Bean,它是文件属性的镜像:

public class MediatType {

    private List<String> mediaTypeList;

    // GETTERs and SETTERs

}

属性 mediaTypeList 指示应用程序允许的HTTP MediaType列表,此列表可以随时更新,以便应用程序必须查看更改。

应用程序接收文件上载请求,仅当文件类型被混合时,才能上传文件。为了验证这一点,我需要使用bean读取属性文件。

我使用Apache Camel 2.12并通过Java DSL配置路由。另外,我使用this阅读PropertyPlaceholder来加载bean中的属性,但它不符合我的要求。

有没有办法用Apache Camel PropertyPlaceholder执行上述要求?还是有另一种方式?

此致

1 个答案:

答案 0 :(得分:1)

在蓝图文件中,使用 cm:property-placeholder 并创建名为 sample.cfg 的属性文件,并将其放在$ FUSE_HOME / etc文件夹中

<cm:property-placeholder persistent-id="sample"
update-strategy="reload">
</cm:property-placeholder>

在骆驼路线中,您可以使用

读取属性
<from uri="timer:foo?period={{period}}" />