Как перезагрузить файл свойств в 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}}" />