第5章 Apache Camel を用いた Red Hat JBoss Data Grid の実行
5.1. camel-jbossdatagrid コンポーネント
camel-jbossdatagrid コンポーネントには、以下の機能が含まれています。
local-camel-consumer: キャッシュ変更通知を受け取り、処理のために送信します。同期または非同期で実行でき、レプリケートされたキャッシュまたは分散キャッシュでもサポートされます。local-camel-producer: プロデューサーはメッセージを作成し、エンドポイントへ送信します。camel-jbossdatagridプロデューサーはGET、PUT、REMOVE、およびCLEAR操作を使用します。ローカルプロデューサーはレプリケートされたキャッシュまたは分散キャッシュでもサポートされます。remote-camel-producer: リモートクライアントサーバーモードでは、Camel プロデューサーは Hot Rod を使用してメッセージを送信できます。
camel-jbossdatagrid 依存関係を pom.xml ファイルに追加する必要があります。
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jbossdatagrid</artifactId>
<version>6.4.0.Final-redhat-3</version>
<!-- use the same version as your JBoss Data Grid version -->
</dependency>
注記
camel-jbossdatagrid コンポーネントは、JBoss Data Grid に同梱されていますが、JBoss Fuse 6.1 や JBoss Fuse Service Works 6.0 ディストリビューションには含まれていません。
FileComponent は URI では file と呼ばれ、FileEndpoints を作成します。
camel-jbossdatagrid には以下の URI 形式が使用されます。
infinispan://hostname?[options]
プロデューサーはメッセージを作成し、レジストリーで設定されたローカルの JBoss Data Grid キャッシュまたはリモートキャッシュ (Hot Rod プロトコルを使用) へメッセージを送信できます。cacheContainer が存在する場合、キャッシュはローカルになります。存在しない場合は、キャッシュは提供されたホスト名/ポートを使用して、リモートキャッシュへの接続を試みます。
表5.1 URI オプション
| 名前 | デフォルト値 | タイプ | コンテキスト | 説明 |
|---|---|---|---|---|
| cacheContainer | null | CacheContainer | 共有 | レジストリーの org.infinispan.manager.CacheContainer への参照。 |
| cacheName | null | 文字列 | 共有 | 使用するキャッシュ名。指定されていないと、デフォルトのキャッシュが使用されます。 |
| command | PUT | 文字列 | プロデューサー | 実行する操作。現在 PUT、GET、REMOVE、および CLEAR のみが値としてサポートされています。 |
| eventTypes | null | Set<String> | コンシューマー | 登録するイベントタイプ。デフォルトでは、すべてのイベントタイプをリッスンします。可能な値は org.infinispan.notifications.cachelistener.event.Event.Type で定義されます。 |
| sync | true | ブール値 | コンシューマー | デフォルトでは、コンシューマーはキャッシュ操作を処理する同じスレッドによって同期的に通知を受け取ります。 |
| clustered | false | ブール値 | コンシューマー | デフォルトでは、コンシューマーはローカルイベントのみを受信します。このオプションを使用すると、コンシューマーはクラスターの他のノードからのイベントもリッスンします。クラスター化されたリスナーに利用できるイベントは CACHE_ENTRY_CREATED、CACHE_ENTRY_REMOVED、および CACHE_ENTRY_MODIFIED のみです。 |
表5.2 メッセージヘッダー
| 名前 | デフォルト値 | タイプ | コンテキスト | 説明 |
|---|---|---|---|---|
| CamelInfinispanCacheName | null | 文字列 | 共有 | 操作またはイベントに参加しているキャッシュ。 |
| CamelInfinispanOperation | PUT | 文字列 | プロデューサー | CamelInfinispanOperationPut、CamelInfinispanOperationGet、CamelInfinispanOperationRemove、および CamelInfinispanOperationClear を実行する操作。 |
| CamelInfinispanKey | null | オブジェクト | 共有 | 操作を実行するキーまたはイベントを生成するキー。 |
| CamelInfinispanValue | null | オブジェクト | プロデューサー | 操作に使用する値。 |
| CamelInfinispanOperationResult | null | オブジェクト | プロデューサー | 操作の結果。 |
| CamelInfinispanEventType | null | 文字列 | コンシューマー | 受信されたイベントのタイプ。可能な値は org.infinispan.notifications.cachelistener.event.Event.Type で定義されます。 |
| CamelInfinispanIsPre | null | ブール値 | コンシューマー | Infinispan は各操作に対して 2 つのイベントを発火します (イベントの前とイベントの後)。 |

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.