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

How to reload a properties file in Apache Camel 2.12?

我想做两件事:将属性加载到 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 for loading properties in beans using PropertyPlaceholder 但它不符合我的要求。

有没有办法用 Apache Camel PropertyPlaceholder 满足上述要求?或者有别的办法吗?

此致,

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

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

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

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