5.2. JBoss Data Grid での Camel を用いたルーティング
Camel のルーティングは、バックグラウンドでメッセージを移動するプロセスチェーンです。以下は、特定のキーのキャッシュから値を読み出すルートの例になります。
from("direct:start")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.GET))
.setHeader(InfinispanConstants.KEY, constant("123"))
.to("infinispan://localhost?cacheContainer=#cacheContainer");
from("direct:start")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.GET))
.setHeader(InfinispanConstants.KEY, constant("123"))
.to("infinispan://localhost?cacheContainer=#cacheContainer");
XML 設定を使用してルーティングを実行することもできます。以下の例は、 camel-jbossdatagrid の
local-camel-producer を示しています。これは、camel-jbossdatagrid コンポーネントを使用して、local-cache モジュールによって作成された埋め込みキャッシュにデータを送信する Camel ルートです。
この例では、
cacheManager がインスタンス化される必要があります。
Spring XML の
cacheManager Bean は以下のようにインスタンス化できます。
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<constructor-arg type="java.lang.String" value="infinispan.xml"/>
</bean>
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<constructor-arg type="java.lang.String" value="infinispan.xml"/>
</bean>
以下は、Blueprint XML を使用して
cacheManager Bean をインスタンス化する方法を示しています。
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<argument value="infinispan.xml" />
</bean>
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<argument value="infinispan.xml" />
</bean>
注記
Spring XML および Blueprint XML の例は、キャッシュの設定に設定ファイル
infinispan.xml を使用します。このファイルはクラスパスに存在する必要があります。