JBoss Data Gridを使ってみる:Hot Rod API編

2013年8月27日(火)
村井 理利

JDG mavenリポジトリアクセスパスの設定

次に、hotrod-endpointが利用するライブラリをダウンロードできるように、プロジェクト記述ファイルpom.xmlにmavenリポジトリのアクセスパスを設定します。

下記の(1)〜(3)の設定を実施してください。

$ cd <INSTALL_DIR>/jboss-datagrid-quickstarts-1.1.Final/hotrod-endpoint
$ vi pom.xml

(1)jboss.bom.versionの値を変更する

[変更前]
1.0.2.Final-redhat-1
[変更後]
1.0.4.Final-redhat-4

(2)jboss-javaee-6.0-with-infinispanのgroupId設定を変更する

[変更前]
com.jboss.datagrid
[変更後]
org.jboss.bom

(3)次の記述を pom.xml の最終行タグの直前に追記する

<repositories>
  <repository>
    <id>jboss-datagrid-repository</id>
    <name>JBoss Data Grid Maven Repository</name>
    <url>http://maven.repository.redhat.com/techpreview/all/</url>
    <layout>default</layout>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
      <updatePolicy>never</updatePolicy>
    </snapshots>
  </repository>
</repositories>

なお、上記修正を加えた pom.xml をGitHub中で公開しております。修正箇所が分かりにくい場合は、こちらをダウンロードしてご利用ください。
> redhat-jp-jboss/hotrod-endpoint-for-thinkit

JDGローカルキャッシュの設定

次は、サンプルアプリケーションで利用するローカルキャッシュ teamsを設定します。今回もスタンドアロン構成(Localモード)で起動するので、対象の設定ファイルは、$JDG_HOME/standalone/configuration/standalone.xml となります。

なお、設定ファイルの変更は、JDGを停止した状態で行ってください。

$ vi $JDG_HOME/standalone/configuration/standalone.xml

standalone.xml内の、下記の2行目のエントリーを追記します。

  <local-cache name="namedCache" start="EAGER"/>
  <local-cache name="teams" start="EAGER"/>
</cache-container>

サンプルプログラムのビルド

コンソールから以下のコマンドを実行しhotrod-endpointをビルドします。

$ cd <INSTALL_DIR>/jboss-datagrid-quickstarts-1.1.Final/hotrod-endpoint
$ mvn clean package

ビルドを実行したコンソールで以下のようなログが出力されたらビルドは成功です。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.170s
[INFO] Finished at: Wed Jul 10 16:54:29 JST 2013
[INFO] Final Memory: 14M/158M
[INFO] ------------------------------------------------------------------------

ビルドしたサンプルプログラムの動きを確認するため、別のターミナルを開き、JDGを起動します。

$ cd $JDG_HOME/bin
$ ./standalone.sh

サンプルプログラムの実行

準備が整いましたので、サンプルプログラムhotrod-endpointを実行します。
正常にビルドできている場合は、下記のようなメニュー画面が表示され、コマンド入力待ちの状態になります。

$ cd <INSTALL_DIR>/jboss-datagrid-quickstarts-1.1.Final/hotrod-endpoint
$ mvnexec:java

<省略>

2013/07/10 17:10:26 org.infinispan.client.hotrod.RemoteCacheManager start
INFO: ISPN004021: Infinispan version: Infinispan 'Delirium' 5.2.4.Final-redhat-1
Choose action:
============= 
at  -  add a team
ap  -  add a player to a team
rt  -  remove a team
rp  -  remove a player from a team
p   -  print all teams and players
q   -  quit
>

本プログラムは、Hot Rodプロトコルを用いてJDGのキャッシュデータに接続し、チームとメンバーの登録、参照を行うコマンドが用意されています。

表2:hotrod-endpoint 実行コマンド

at 新規チームの登録
ap チームを選択しメンバーを登録 [q]でメンバー登録終了
rt 既存のチームを削除
rp 既存のメンバーを削除
p チーム・メンバーの一覧を表示
q プログラム終了

上記コマンドをいくつか実行し、サンプルプログラムhotrod-endpointが動くことを確認してください。

今回はキャッシュストアの設定をしていないため、メモリー上にのみデータを保持しております。このことは、JDGを再起動後にhotrod-endpointを実行すると登録済みのデータが初期化されていることからも分かると思います。

レッドハット株式会社
JBossサービス事業部 ソリューション・アーキテクト
1999年よりパナソニックITソリューションズ株式会社に在籍。2013年4月よりオープンソースの文化とJBoss製品を学ぶ為、レッドハット株式会社にて修行中。 

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています