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

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

サンプルプログラムの解説

最後にHot Rod API でJDGにアクセスする方法を、ソースコード FootballManager.java を使って解説いたします。

このファイルは、hotrod-endpoint ディレクトリ以下の
src/main/java/org/jboss/as/quickstarts/datagrid/hotrodに格納されています。

下記の表3は FootballManager.java より Hot Rod API利用箇所を抜粋したものです。

表3 FootballManager.java の抜粋

ソースコード  
48 public FootballManager(Console con) {  
49 this.con = con;  
50 cacheManager = new RemoteCacheManager(jdgProperty(:); (1)
51 cache = cacheManager.getCache(""); (2)
52 if(!cache.containsKey(teamsKey)) {  
53 List teams = new ArrayList();  
54 Team t = new Team("Barcelona");  
55 t.addPlayer("Messi");  
56 t.addPlayer("Pedro");  
57 t.addPlayer("Puyol");  
58 cache.put(t.getName(), t);  
59 teams.add(t.getName());  
60 cache.put(, );

(3)

  <中略>  
     
120 public void printTeams() {  
121 @SuppressWarnings("unchecked")  
122 List teams = (List) cache.get(); (4)
123 if (teams != null) {  
124 for (String teamName : teams) {  
125 con.printf(cache.get(teamName).toString());  
  <以下、省略>  

Hot Rod API 利用箇所についての解説は下記(1)〜(4)をご確認ください。

(1)HotRod Client API の RemotoCacheManagerを使い、を指定してJDG上で起動しているHot Rodプロトコル向けのサービスに接続します。(デフォルト値 …localhost …11222 )
hotrod-endpointではsrc/main/resources/jdg.propertiesで定義されています。

(2)操作するキャッシュ名のハンドルを取得します。
hotrod-endpointではローカルキャッシュteamsを指定しています。

(3)を指定し、JDG上のローカルキャッシュ teams に対して、Hot Rod プロトコルでデータを格納します。

(4)KEY を指定し、JDG上のローカルキャッシュ teams から Hot Rod プロトコルでデータを取得します。

いかがでしたでしょうか? これで、Hot Rod API を利用して簡単にJDGのデータ操作ができることが確認できたと思います。JDGでは、java.util.Mapに似たAPIを提供していますので、開発者の方でしたら、java.util.Mapを使う感覚でJDGを操作できるのではないかと思います。
次回は、キャッシュデータの中をモニタリングする方法について解説したいと考えています。ご期待ください。

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

連載バックナンバー

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

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

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

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