24.7. 例
キー/値を名前付きキャッシュに配置します。
from("direct:start") .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT) (1) .setHeader(InfinispanConstants.KEY).constant("123") (2) .to("infinispan:myCacheName&cacheContainer=#cacheContainer"); (3)from("direct:start") .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT) (1) .setHeader(InfinispanConstants.KEY).constant("123") (2) .to("infinispan:myCacheName&cacheContainer=#cacheContainer"); (3)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は以下のようになります。
- 1 - 実行する操作の設定
- 2 - キャッシュ内の要素を識別するために使用されるキーを設定します。
3 - レジストリーから設定済みのキャッシュマネージャー
cacheContainerを使用して、myCacheNameという名前のキャッシュに要素を配置します。エントリーの有効期限が切れる前のライフタイムやアイドル時間を設定し、以下のようにキャッシュからエビクトすることができます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ここで、
- 1 - エントリーの有効期間を設定します。
- 2 - ライフスパンの時間単位を設定します。
クエリー
ドメインオブジェクトの .proto 記述子は、リモート Data Grid サーバーに登録する必要があります。公式の Infinispan ドキュメントの Remote Query Example を参照してください。
カスタムリスナー
from("infinispan://?cacheContainer=#cacheManager&customListener=#myCustomListener")
.to("mock:result");
from("infinispan://?cacheContainer=#cacheManager&customListener=#myCustomListener")
.to("mock:result");
myCustomListener のインスタンスが存在し、Camel がレジストリー から検索できるはず です。ユーザーは、org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener クラスを拡張し、生成されるクラスに org.infinispan.client.hotrod.annotation パッケージにある @ClientListener でアノテーションを付けることが推奨されます。