Как перезагрузить файл свойств в Apache Camel 2.12?

Я хочу сделать две вещи: загрузить свойства в компонент и обновить компонент при обновлении свойств.

Я использую JBoss Fuse 6.1, где я могу установить пакет приложений и у меня есть файл свойств на сервере, где мне нужно прочитать некоторые настройки. Свойства имеют следующую строку:

mediaTypeList=JSON,DOCX,TXT

И у меня есть Java Bean, который является зеркалом свойства файла:

public class MediatType {

    private List<String> mediaTypeList;

    // GETTERs and SETTERs

}

Свойство mediaTypeList указывает список HTTP MediaType, который допускается приложением, и этот список может со временем обновляться, поэтому приложение должно видеть изменения.

Приложение получает запрос на загрузку файла, и только в случае, если тип файла поддерживается, файл может быть загружен. Чтобы проверить это, мне нужно прочитать файл свойств с помощью компонента.

Я использую Apache Camel 2.12 и настраиваю маршрут с помощью Java DSL. Также я прочитал это для загрузки свойств в bean-компонентах с помощью PropertyPlaceholder, но это не соответствует моим требованиям.

Есть ли способ выполнить вышеуказанные требования с помощью Apache Camel PropertyPlaceholder? Или есть другой способ?

С Уважением,

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}}" />
Другие вопросы по тегам