2016-05-02 14 views
0

私は2つのことをしたい:プロパティを更新したときにBeanにプロパティをロードし、Beanを更新する。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のリストを示し、このリストは、アプリケーションが変更を見なければならないように、更新される可能性があります。

アプリケーションはファイルのアップロード要求を受け取り、ファイルの種類が許可されている場合にのみファイルをアップロードできます。これを検証するために、私はbeanを使ってプロパティファイルを読む必要があります。

私はApache Camel 2.12を使用し、Java DSLでルートを設定します。また、私はPropertyPlaceholderを使って豆のプロパティを読み込むためにthisを読んでいますが、私の要求に合っていません。

Apache Camel PropertyPlaceholderで上記の要件を満たす方法はありますか?それとも別の方法ですか?青写真ファイルの使用で

よろしく、

+2

ヒューズはカラフを使用しています。このため、[Configuration Admin Service](http://www.liquid-reality.de/display/liquid/2011/09/23/Karaf+Tutorial+Part+2+-+Using+the+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++構成+管理者+サービス)。 – Ralf

+0

ありがとう@Ralf!私は参照を読んで、私は必要なものを見ます。 – ffcc

+0

JBossヒューズでファブリックを使用していますか?またはスタンドアロン?また、BlueprintやSpring、Java DSLを使用していますか? –

答えて

0

センチ:プロパティ・プレースホルダーと名前sample.cfgとプロパティファイルを作成し、$ FUSE_HOME/etcフォルダに

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

に置きますキャメルルートを使用してプロパティを読み取ることができます

<from uri="timer:foo?period={{period}}" /> 
関連する問題