5.5. リモートキャッシュのカスタムリスナー
リモートキャッシュのカスタムリスナーは、埋め込みキャッシュと同様に登録できますが、
sync=false
が存在する必要があります。例を以下に示します。
Java のみを使用
from(infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener") .to(mock:result);
from(infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener")
.to(mock:result);
Blueprint および Java を使用
Java クラス:
myCustomListener
のインスタンスが存在する必要があります。ユーザーは org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener
クラスを拡張し、結果となるクラスに @ClientListener
アノテーションを付けることが推奨されます。このアノテーションは org.infinispan.client.hotrod.annotation にあります。
リモートリスナーも以下のようにカスタムフィルターおよびコンバーターと関連付けられることがあります。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
@ClientListener(includeCurrentState=true, filterFactoryName = "static-filter-factory", converterFactoryName = "static-converter-factory") private static class MyCustomListener extends InfinispanRemoteCustomListener { }
@ClientListener(includeCurrentState=true, filterFactoryName = "static-filter-factory", converterFactoryName = "static-converter-factory")
private static class MyCustomListener extends InfinispanRemoteCustomListener {
}
カスタムフィルターまたはコンバーターを使用するには、
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
@NamedFactory
アノテーションが付けられたクラスを実装する必要があります。必要なメソッドを実装するスケルトンは以下のとおりです。
カスタムフィルターおよびコンバーターはサーバーに登録する必要があります。これらのクラスの登録については、『Red Hat JBoss Data Grid Developer Guide』 の
Remote Event Listeners
の項を参照してください。
注記
リモート HotRod イベントをリッスンするには、cacheManager のタイプが
RemoteCacheManager
で、インスタンス化される必要があります。