250.25. Using @PropertyInject
Camel 2.12 から利用可能
Camel では、フィールドおよびセッターメソッドに設定できる @PropertyInject アノテーションを使用して、POJO にプロパティープレースホルダーを注入することができます。
たとえば、以下のように RouteBuilder クラスで使用できます。
greeting フィールドに @PropertyInject アノテーションが付けられ、キー "hello" を使用するように定義されていることに注意してください。Camel はこのキーでプロパティーを検索し、その値を String 型にインジェクトします。
キーに複数のプレースホルダーやテキストを使用することもできます。以下に例を示します。
@PropertyInject("Hello {{name}} how are you?")
private String greeting;
@PropertyInject("Hello {{name}} how are you?")
private String greeting;
これにより、"name" キーを持つプレースホルダーが検索されます。
キーが存在しない場合には、デフォルト値を追加することもできます。以下に例を示します。
@PropertyInject(value = "myTimeout", defaultValue = "5000") private int timeout;
@PropertyInject(value = "myTimeout", defaultValue = "5000")
private int timeout;