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