2.74. Velocity
Velocity テンプレートを使用してメッセージを変換します。
2.74.1. 含まれるもの リンクのコピーリンクがクリップボードにコピーされました!
-
Velocity コンポーネント、URI 構文:
velocity:resourceUri
使用方法と設定の詳細については、上記リンクを参照してください。
2.74.2. Maven コーディネート リンクのコピーリンクがクリップボードにコピーされました!
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-velocity</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-velocity</artifactId>
</dependency>
2.74.3. 用途 リンクのコピーリンクがクリップボードにコピーされました!
2.74.3.1. ネイティブモードのドメインオブジェクトとしてのカスタムボディ リンクのコピーリンクがクリップボードにコピーされました!
カスタムオブジェクトをメッセージ本文として使用し、ネイティブモードのテンプレートでそのプロパティーを参照する場合、すべてのクラスをリフレクション用に登録する必要があります (ドキュメント を参照)。
例:
@RegisterForReflection public interface CustomBody { }
@RegisterForReflection
public interface CustomBody {
}
2.74.4. ネイティブモードの allowContextMapAll オプション リンクのコピーリンクがクリップボードにコピーされました!
allowContextMapAll
オプションはネイティブモードではサポートされていません。これは、CamelContext
や Exchange
などのセキュリティーに敏感な Camel コアクラスへのリフレクティブアクセスが必要なためです。これはセキュリティーリスクとみなされるため、この機能へのアクセスはデフォルトでは提供されません。
2.74.5. 追加の Camel Quarkus 設定 リンクのコピーリンクがクリップボードにコピーされました!
通常、このコンポーネントはクラスパスから Velocity テンプレートをロードします。ネイティブモードでも機能させるには、quarkus.native.resources.includes
プロパティーを使用して、テンプレートをネイティブ実行可能ファイルに明示的に埋め込む必要があります。
たとえば、以下のルートは、template/simple.vm
という名前のクラスパスリソースから Velocity テンプレートをロードします。
from("direct:start").to("velocity://template/simple.vm");
from("direct:start").to("velocity://template/simple.vm");
これ (template
ディレクトリーの .vm
ファイルに保存されている可能性のある他のテンプレート) をネイティブイメージに含めるには、次のようなものを application.properties
ファイルに追加する必要があります。
quarkus.native.resources.includes = template/*.vm
quarkus.native.resources.includes = template/*.vm