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
を使用します。このファイルはクラスパスに存在する必要があります。