263.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}}"); } }
グリーティングフィールドに @PropertyInject
でアノテーションを付け、キー "hello"
を使用するように定義していることに注意してください。Camel はこのキーを使用してプロパティーを検索し、その値を String 型に変換して注入します。
キーで複数のプレースホルダーとテキストを使用することもできます。たとえば、次のことができます。
@PropertyInject("Hello {{name}} how are you?") private String greeting;
これにより、キー "name"
でプレースホルダーが検索されます。
キーが存在しない場合は、次のようにデフォルト値を追加することもできます。
@PropertyInject(value = "myTimeout", defaultValue = "5000") private int timeout;