Show Table of Contents
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");
XML 設定を使用してルーティングを実行することもできます。以下の例は、 camel-jbossdatagrid の
local-camel-producer を示しています。これは、camel-jbossdatagrid コンポーネントを使用して、local-cache モジュールによって作成された埋め込みキャッシュにデータを送信する Camel ルートです。
<camelContext id="local-producer" xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="timer://local?fixedRate=true&period=5000"/> <setHeader headerName="CamelInfinispanKey"> <property>CamelTimerCounter</property> </setHeader> <setHeader headerName="CamelInfinispanValue"> <property>CamelTimerCounter</property> </setHeader> <to uri="infinispan://foo?cacheContainer=#cacheManager"/> <to uri="log:local-put?showAll=true"/> </route> </camelContext>
この例では、
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>
以下は、Blueprint XML を使用して
cacheManager 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 を使用します。このファイルはクラスパスに存在する必要があります。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.