第2章 エクステンションの参照情報
本章では、Camel Quarkus エクステンションに関する参照情報を提供します。
このテクノロジープレビューリリースには、利用可能な Camel Quarkus エクステンションのターゲットサブセットが含まれています。今後のリリースで、追加のエクステンションが Camel Quarkus ディストリビューションに追加されます。
2.1. Avro
Apache Avro バイナリーデータフォーマットを使用して、メッセージをシリアライズおよびデシリアライズします。
2.1.1. 含まれるもの
使用方法と設定の詳細については、上記リンクを参照してください。
2.1.2. Maven コーディネート
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-avro</artifactId> </dependency>
2.1.3. 追加の Camel Quarkus 設定
vanilla Camel から知られている標準的な使用方法以外に、Camel Quarkus では @BuildTimeAvroDataFormat
アノテーションを用いて、JVM と Native モードの両方でビルド時に Avro スキーマを解析する機能が追加されています。
以下の例では、最初のステップで user.avsc
スキーマリソースがビルド時に解析されます。2 番目のステップで、以前解析されたスキーマを使用する AvroDataFormat インスタンスが、実行時に buildTimeAvroDataFormat
フィールドに注入されます。最終的に、受信メッセージをマーシャリングするために、注入されたデータフォーマットを configure()
メソッドから使用します。
@BuildTimeAvroDataFormat("user.avsc") AvroDataFormat buildTimeAvroDataFormat; @Override public void configure() { from("direct:marshalUsingBuildTimeAvroDataFormat").marshal(buildTimeAvroDataFormat); }