この演習では、Javaプラットフォームのキャッシング用Java標準APIであるJCacheの使用方法を学びます。この演習は、Coherenceクラスタ化キャッシュの単純なタイプの情報にアクセスし、更新および削除を行うJavaコンソール・ベースのアプリケーションを作成した第3章「Javaからデータ・グリッドへのアクセス」に類似しています。ただし、NamedCache
およびCoherence APIを使用するかわりに、Cache
およびJCache APIを使用します。
この章の内容は、次のとおりです。
Coherenceには、JCacheプロバイダの実装が含まれています。JCacheは、Javaでキャッシュを使用する共通APIです。JCache APIによって、Coherenceを使用して基礎となるキャッシング機能を提供することができます。プロバイダ・ベースのアプローチを使用することによって、プロバイダ間の移植性が保証され、開発者は複雑なキャッシュ・サブシステムの作成および管理ではなく、アプリケーション・ロジックに集中できるようになります。
Coherence JCacheプロバイダは、既存のCoherenceの機能の上に構築されています。Coherenceのインフラストラクチャに依存しているこのプロバイダは、Coherence NamedCache APIのラッパーと考えることができます。これによって、CoherenceはJCacheインタフェースを使用して多くの優れたテクノロジの再利用および公開ができるようになります。
JCacheをサポートするキー・ファイルは、cache-api.jar
およびcoherence-jcache.jar
です。cache-api.jar
ファイルには、JCacheライブラリが含まれています。coherence-jcache.jar
ファイルには、JCacheライブラリの上に構築されているCoherence実装が含まれています。アプリケーションのクラスパスには、これらのファイルの両方を含める必要があります。
coherence-jcache.jar
ファイル内のAPIによって、JCacheは分散、ローカル、パススルーおよびリモート・キャッシュをサポートできるようになります。また、POFシリアライズ、イベントおよびエントリ・プロセッサの使用もサポートします。
JCacheプロバイダ実装の詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のCoherence JCacheの概要に関する項を参照してください。
Oracleは、JCacheの仕様の主要な貢献者です。JCacheの仕様(JSR-107「Java Caching API」)を入手するには、次のURLを参照してください。
次の手順に従って、JCacheを使用するプロジェクトを作成します。
Eclipse IDEで、「File」→「New」→「Application Client Project」を選択し、JCache
という名前の新しいプロジェクトを作成します。「Configuration」ドロップダウン・リストから「CoherenceConfig」を選択します。「Next」をクリックします。
「Next」をクリックし、ウィザードの「Java」ページのデフォルトを受け入れます。「Application Client module」ページで、「Create a default Main class」の選択を解除します。「Next」をクリックします。
「Coherence」ページの「Manage Libraries」アイコンをクリックし、JCacheおよびCoherence JCacheライブラリを含めるためのユーザー・ライブラリを作成します。
「User Libraries」ダイアログ・ボックスで「New」をクリックし、ユーザー・ライブラリに名前を付けます。図12-1に示されているように、「New User Library」ダイアログ・ボックスで「CoherenceJCache」と入力し、「System Library」チェックボックスを選択します。「OK」をクリックします。
「User Libraries」ダイアログ・ボックスでCoherenceJCacheライブラリを選択し、「Add External JARs」をクリックします。
Coherenceディストリビューションの/coherence/lib
フォルダの場所に移動し、cache-api.jar
およびcoherence-jcache.jar
ファイルを選択します。終了すると、「User Libraries」ダイアログ・ボックスは図12-2のようになります。「OK」をクリックします。
「Coherence」ページで「CoherenceJCache」ライブラリを選択します。「Coherence」ページは図12-3のようになります。「Finish」をクリックします。
ここでは、Coherenceクラスタ化キャッシュの単純なタイプの情報にアクセスし、それらの情報を更新するJCache APIを使用したJavaプログラムの作成方法について説明します。
JCacheベースのアプリケーションを作成するには:
Eclipseで新しいアプリケーション・クライアント・プロジェクトを作成します。プロジェクトにJCacheという名前を付けます。フォルダがC:\home\oracle\workspace\JCache
であることを確認してください。
「New Application Client Project」ダイアログ・ボックスの「Configuration」セクションで、「Modify」をクリックします。「Project Facets」ダイアログ・ボックスで、「Configuration」ドロップダウン・リストから「CoherenceConfig」を選択します。
詳細な手順は、「Eclipse IDEでの新規プロジェクトの作成」を参照してください。
最初のCoherence JCache Javaプログラムを作成します。「New Java Class」ダイアログ・ボックスで、クラスにMyFirstJCacheSample
という名前を付け、「public static void main(String[] args)」チェック・ボックスを選択します。
Eclipseエディタで、Cache
オブジェクトの作成、キャッシュの値の入力および入力した値の検証を実行するコードを記述します。
Coherenceとは異なり、JCacheではキャッシュを作成するためにより多くのコードを書く必要があることに注意してください。JCacheでは、キャッシュを作成する前に、まずキャッシュ・マネージャを取得して、キャッシュ構成パラメータを設定する必要があります。
例12-1にサンプル・プログラムを示します。
例12-1 JCacheキャッシュ・オブジェクトの作成: 値の挿入と検証
package com.oracle.handson; import javax.cache.Cache; import javax.cache.CacheManager; import javax.cache.Caching; import javax.cache.configuration.MutableConfiguration; import javax.cache.spi.CachingProvider; public class MyFirstJCacheSample { public MyFirstJCacheSample() { } public static void main(String[] args) { // ensure we are in a cluster CacheFactory.ensureCluster(); //get cache manager CachingProvider cachingProvider = Caching.getCachingProvider(); CacheManager cacheManager = cachingProvider.getCacheManager(); //set configuration for the cache PassThroughCacheConfiguration<String, String> config = new PassThroughCacheConfiguration(); config.setTypes(String.class, String.class); //create and use the cache cacheManager.createCache("myCache", config); Cache<String, String> cache = cacheManager.getCache("myCache", String.class, String.class); // put key, value pair into the cache. cache.put("Name","Gene Smith"); System.out.println("Value in cache is " + cache.get("Name")); } }
実行中のキャッシュ・サーバーがあれば停止します。詳細は、「キャッシュ・サーバーの停止」を参照してください。
Eclipse IDEでプログラムを実行します。
エディタでMyFirstJCacheSample.java
クラスを右クリックし、「Run As」→「Run Configuration」を選択します。「Oracle Coherence」をダブルクリックして、Coherenceの構成を作成します。「Run Configuration」ダイアログ・ボックスの「Name」フィールドにMyFirstJCacheSample
と入力します。
「Main」タブで、「Project」フィールドにJCache
と入力し、「Main class」フィールドにcom.oracle.handson.MyFirstJCacheSample
と入力します。
「Coherence」タブで、「Cluster port」フィールドに一意の値(3155など)を入力して、Coherenceが自分のホストに制限されるようにします。「Local storage」で「Enabled (cache server)」を選択します。
「Classpath」タブの「Bootstrap Entries」リストには、「Coherence12.1.3」ライブラリの前に「CoherenceJCache」ライブラリが表示されているはずです。「Apply」→「Run」をクリックします。
例12-2のようなメッセージが表示されます。
例12-2 MyFirstJCacheSampleプログラムの出力
2014-02-20 15:28:53.188/0.377 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/C:/OracleCoherence1/coherence/lib/coherence.jar!/tangosol-coherence.xml" 2014-02-20 15:28:53.303/0.492 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/C:/OracleCoherence1/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml" 2014-02-20 15:28:53.383/0.572 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a):Loaded operational overrides from "file:/C:/home/oracle/workspace/JCache/build/classes/tangosol-coherence-override.xml"
... 2014-02-20 15:28:53.668/0.857 Oracle Coherence GE 12.1.3.0.0 <D5> <Info> (thread=main, member=n/a):Loaded cache configuration from "jar:file:/C:/OracleCoherence1/coherence/lib/coherence-jcache.jar!/coherence-jcache-cache-config.xml"
2014-02-20 15:28:53.848/1.037 Oracle Coherence GE 12.1.3.0.0 <D5> <Info> (thread=main, member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory 2014-02-20 15:28:53.863/1.052 Oracle Coherence GE 12.1.3.0.0 <D5> <Info> (thread=main, member=n/a): Mapping general javax.cache.Configuration implementation to CoherenceBased JCacheConfiguration of com.tangosol.coherence.jcache.localcache.LocalCacheConfigurationValue in cache is Gene Smith
この項では、クラスタ環境でJCache APIを使用するアプリケーションを作成して実行する方法について説明します。
パーティション・キャッシュおよびパススルー・キャッシュは、Coherenceクラスタを使用してキャッシュ・データを分散させています。このタスクによってオペレーション・オーバーライド・ファイルが作成され、初期状態のデフォルト・クラスタ構成が修正されます。具体的には、デフォルト構成を修正してプライベート・クラスタを作成し、ネットワーク上で実行されている可能性のある既存のCoherenceクラスタにJVMのプロセスが参加しないようにします。
サンプル・クラスタを構成するには:
tangosol-coherence-override.xml
ファイルを編集します。「Project Navigator」でtangosol-coherence-override.xml
ファイルをダブルクリックして、エディタ内で開きます。
次のオーバーライド構成を追加して、「cluster_name」および「port」をクラスタ内で一意の値に置換します。たとえば、クラスタ名にmyCluster
を使用し、ポート番号に電話番号の最後の4桁を使用します。
<?xml version='1.0'?> <coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/ coherence-operational-config coherence-operational-config.xsd"> <cluster-config> <member-identity> <cluster-name>cluster_name
</cluster-name> </member-identity> <multicast-listener> <address>224.3.6.0</address> <port>port
</port> <time-to-live>0</time-to-live> </multicast-listener> </cluster-config> </coherence>
ファイルを保存して閉じます。
パススルー・キャッシュは、既存のCoherenceキャッシュ(Coherenceキャッシュ構成ファイルで定義されるキャッシュ)に委任するキャッシュです。パススルー・キャッシュによってすべてのCoherenceネイティブの機能が使用できるようになり、キャッシュ構成の高度な制御が可能になります。パススルー・キャッシュの使用にはクライアント・コードにCoherence固有の変更が必要であるため、移植性が問題となるJCacheアプリケーションには向いていません。
このサンプルでは、キャッシュ・サーバー・プロセスとMyFirstJCacheSample
アプリケーション・プロセスの2つの個別のJavaプロセスによってクラスタが形成されます。簡素化を図るため、この2つのプロセスは単一のマシン上に置かれます。この2つのプロセスは1つのコンピュータ上に共存します。キャッシュ・サーバーは、デフォルトでキャッシュ・データを格納するように構成されます。MyFirstJCacheSample
アプリケーションによってクラスタ上のキャッシュが正常に作成およびロードされたかを検証するために、CoherenceのCacheFactory
が使用されます。
PassThroughCacheConfiguration
クラスは、JCacheインタフェースにCoherenceネイティブのキャッシュを提供する実装に固有の構成です。この構成は、標準のMutableConfiguration
クラスのかわりに使用されます。
キャッシュをパススルー・キャッシュとして構成するには:
例12-1で作成したMyFirstJCacheSample
クラスを開きます。
PassThroughCacheConfiguration
構成を使用するようにクラスを変更します。次に例を示します。
... //set configuration for the cache PassThroughCacheConfiguration<String, String> config = new PassThroughCacheConfiguration(); config.setTypes(String.class, String.class); //create and use the cache cacheManager.createCache("myCache", config); Cache<String, String> cache = cacheManager.getCache("myCache", String.class, String.class); ...
ファイルを保存します。
この例では、myCache
という名前に明示的にマッピングされる分散キャッシュを定義するキャッシュ構成が作成されます。
Eclipse環境では、JCache APIを使用するアプリケーション用のキャッシュ構成はcoherence-jcache-cache-config.xml
ファイルに格納する必要があります。
キャッシュのサンプルを定義するには:
任意のファイル圧縮ユーティリティ使用して、coherence-jcache.jar
ファイルからcoherence-jcache-cache-config.xml
ファイルを抽出します。このファイルは、JCache\appClientModule
フォルダに抽出します。
「Project Explorer」でJCacheプロジェクトを右クリックし、「Refresh」を選択します。ファイルの一覧で、JCache\appClientModule
フォルダの中にcoherence-jcache-cache-config.xml
ファイルが表示されます。
coherence-jcache-cache-config.xml
ファイルをダブルクリックして、エディタ内で開きます。
このファイルには、XMLスキーマ・インスタンスおよびCoherenceキャッシュ構成用のネームスペースのみでなく、JCacheネームスペース用のネームスペース定義(太字で表示)も含まれています。
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:jcache="class://com.tangosol.coherence.jcache.JCacheNamespace"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd">
...
次の分散キャッシュの定義をファイルにコピーします。
<?xml version="1.0"?> <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xmlns:jcache="class://com.tangosol.coherence.jcache.JCacheNamespace" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"> <caching-scheme-mapping> <cache-mapping> <cache-name>myCache</cache-name> <scheme-name>distributed</scheme-name> </cache-mapping> </caching-scheme-mapping> <caching-schemes> <distributed-scheme> <scheme-name>distributed</scheme-name> <service-name>DistributedCache</service-name> <backing-map-scheme> <local-scheme/> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme> </caching-schemes> </cache-config>
ファイルを保存して閉じます。
Coherenceデフォルト・キャッシュ・サーバー用の実行構成を作成します。
Eclipse IDEでJCacheプロジェクトを右クリックします。「Run As」→「Run Configurations」を選択します。「Run Configurations」ダイアログ・ボックスで、「Oracle Coherence」→「New launch configuration」アイコンを選択します。キャッシュ・サーバー構成の名前としてDefaultCacheServer
を入力します。
「Project」で「Browse」をクリックし、「Project Selection」ダイアログ・ボックスでJCacheプロジェクトの名前を選択します。
「Main class」で、「Include system libraries when searching for a main class」チェック・ボックスを選択します。「Search」ボタンをクリックし、「Select Main Type」ダイアログ・ボックスでDefaultCacheServer
と入力します。「com.tangosol.net.DefaultCacheServer」を選択し、「OK」をクリックします。「Apply」をクリックします。
「Coherence」タブで「General」タブを選択します。「Browse」アイコンをクリックして、キャッシュ構成ファイルcoherence-jcache-cache-config.xml
に移動します。ローカル記憶域を「Enabled」(キャッシュ・サーバー)にするように選択します。「Cluster port」
に一意の値(3155など)を入力します。「Apply」をクリックします。
「Arguments」タブを開きます。「VM Arguments」フィールドに-showversion
と入力します。「Apply」をクリックします。
ダイアログ・ボックスで「Classpath」タブを開きます。「Advanced」→「Add Folders」をクリックし、クラスパスの「Bootstrap Entries」セクションにJCache\appClientModule
フォルダ(ここには、第12.4.1項「サンプル・クラスタの構成」で構成したtangosol-coherence-override.xml
オーバーライド・ファイルが含まれています)を追加します。「Up」および「Down」ボタンを使用して、appClientModeule
をCoherenceJCache
およびCoherenc12.1.3
ライブラリの前に移動します。これは、コンパイラがcoherence.jar
ライブラリより先にtangosol-coherence-override.xml
オーバーライド・ファイルを見つける必要があるためです。「Classpath」タブは図12-4のようになります。
ダイアログ・ボックスの「Common」タブを開きます。「Shared file」ラジオ・ボタンをクリックし、「Browse」をクリックしてプロジェクトに移動します。「Apply」をクリックします。
「Run」をクリックして、キャッシュ・サーバーを起動します。キャッシュ・サーバーが起動し、例12-3のような出力が表示されます。
例12-3 DefaultCacheServerの出力
java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) ... 2014-02-24 15:44:27.381/0.615 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a): Loaded operational overrides from "file:/C:/home/oracle/workspace/JCache/appClientModule/tangosol-coherence-override.xml" ... 2014-02-24 15:44:27.710/0.944 Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a): Loaded cache configuration from "file:/C:/home/oracle/workspace/JCache/appClientModule/coherence-jcache-cache-config.xml" ... 2014-02-24 15:44:34.557/7.791 Oracle Coherence GE 12.1.3.0.0 <D5> (thread=DistributedCache, member=1): Service DistributedCache joined the cluster with senior service member 1 2014-02-24 15:44:34.598/7.832 Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=1): Services ( ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=12.1.3, OldestMemberId=1} InvocationService{Name=Management, State=(SERVICE_STARTED), Id=2, Version=12.1.3, OldestMemberId=1} PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=0, BackupPartitions=0, CoordinatorId=1} ) Started DefaultCacheServer... ...
MyFirstJCacheSample
クラスの実行構成を作成するには:
Eclipse IDEでJCacheプロジェクトを右クリックします。「Run As」→「Run Configurations」を選択します。「Run Configurations」ダイアログ・ボックスで、「Oracle Coherence」→「New launch configuration」アイコンを選択します。キャッシュ・サーバー構成の名前としてMyFirstJCacheSample
を入力します。「Project」フィールドにJCache
が、「Main class」フィールドにcom.oracle.handson.
MyFirstJCacheSample
が表示されていることを確認します。「Apply」をクリックします。
「Coherence」タブで、「Cache configuration descriptor」フィールドのcoherence-jcache-cache-config.xml
JCacheキャッシュ構成ファイルへ移動します。「Local storage」フィールドで「Disabled (cache client)」を選択します。「Cluster port」フィールドに3155
などの一意の値を入力します。
注意: 「Cluster port」の値は、 |
「Arguments」タブの「VM arguments」フィールドに-Dtangosol.coherence.jcache.configuration.uri
システム・プロパティを入力し、JCacheキャッシュ構成ファイルcoherence-jcache-cache-config.xml
へのパスを指定します。次に例を示します。
-Dtangosol.coherence.jcache.configuration.uri=C:\home\oracle\workspace\JCache\appClientModule\coherence-jcache-cache-config.xml
ダイアログ・ボックスで「Classpath」タブを開きます。「Advanced」→「Add Folders」をクリックし、クラスパスの「Bootstrap Entries」セクションにJCache\appClientModule
フォルダ(ここには、第12.4.1項「サンプル・クラスタの構成」で構成したtangosol-coherence-override.xml
オーバーライド・ファイルが含まれています)を追加します。「Up」および「Down」ボタンを使用して、appClientModeule
をCoherenceJCache
およびCoherenc12.1.3
ライブラリの前に移動します。これは、Coherenceコンパイラがcoherence.jar
ライブラリより先にtangosol-coherence-override.xml
オーバーライド・ファイルを見つける必要があるためです。「Classpath」タブは図12-4のようになります。
ダイアログ・ボックスの「Common」タブを開きます。「Shared file」ラジオ・ボタンをクリックし、「Browse」をクリックしてJCacheプロジェクトに移動します。「Apply」をクリックします。
「Run」をクリックして、MyFirstJCacheSample
アプリケーションを起動します。
tangosol-coherence-override.xml
およびcoherence-jcache-cache-config.xml
ファイルがappClientModule
フォルダからロードされたことに注意してください。アプリケーション・プロセスはキャッシュ・サーバー・プロセスを含むクラスタに接続し、両方のプロセスによってDistributedCache
サービスが実行されます。アプリケーションはGene
Smith
という値をキャッシュに配置し、それを標準出力に表示した後、クラスタから離脱します。
例12-4 MyFirstJCacheSampleアプリケーションの出力
... 2014-02-25 11:09:24.145/0.630 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a):Loaded operational overrides from "file:/C:/home/oracle/workspace/JCache/appClientModule/tangosol-coherence-override.xml"
... 2014-02-25 11:09:27.078/3.563 Oracle Coherence GE 12.1.3.0.0 <D5> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior service member 1 ... 2014-02-25 11:09:27.833/4.323 Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=2):Loaded cache configuration from "file:/C:/home/oracle/workspace/JCache/appClientModule/coherence-jcache-cache-config.xml"
2014-02-25 11:09:27.986/4.471 Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=2): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory 2014-02-25 11:09:28.070/4.555 Oracle Coherence GE 12.1.3.0.0 <D5> (thread=DistributedCache, member=2): Service DistributedCache joined the cluster with senior service member 1Value in cache is Gene Smith
この例のキャッシュ・サーバーは、デフォルトでキャッシュのデータを格納するように構成されます。データは、クラスタのすべてのメンバーが使用可能であり、それらのメンバーがクラスタから離脱した後も保持されます。たとえば、アプリケーションは、キャッシュにキーをロードし、そのキーを表示してから終了します。ただし、キャッシュとキーは、その後もすべてのクラスタ・メンバーが使用できます。
この手順を完了するには、まずアプリケーションをアーカイブ・ファイルに保存してから、それをクラスパス上に配置します。その後、キャッシュ・ファクトリ・コマンド行ツールを使用して、myCache
キャッシュに接続し、キャッシュ内のすべての項目を一覧表示します。
MyFirstJCacheSample
アプリケーション用のJARファイルを作成するには:
Eclipseの「Project Explorer」で、JCacheプロジェクトの下の「build」フォルダを右クリックして、「Export」を選択します。
「Export」ウィザードの「Select」画面で、「General」ノードを開いて「Archive File」を選択します。「Next」をクリックします。
「Export」ウィザードの「Archive file」画面で、 「build」ノードを開いて「handson」ノードまで移動します。左側のペインで「handson」ノードを選択し、右側のペインでMyFirstJCacheSample.classファイルを選択します。図12-5に示されているように、「To archive file」フィールドにMyFirstJCacheSample.jar
と入力します。
「Finish」をクリックして、JARファイルを作成します。
キャッシュ・ファクトリ・インスタンスを起動し、キャッシュの内容を検証します。
キャッシュを確認するには:
CacheFactoryコマンド行ツール用の実行構成を作成します。Eclipse IDEでJCacheプロジェクトを右クリックします。「Run As」→「Run Configurations」を選択します。「Run Configurations」ダイアログ・ボックスで、「Oracle Coherence」→「New launch configuration」アイコンを選択します。キャッシュ・サーバー構成の名前としてCacheFactory
を入力します。
「Project」で「Browse」をクリックし、「Project Selection」ダイアログ・ボックスでJCacheプロジェクトの名前を選択します。
「Main class」で、「Include system libraries when searching for a main class」チェック・ボックスを選択します。「Search」ボタンをクリックし、「Select Main Type」ダイアログ・ボックスでCacheFactory
と入力します。「com.tangosol.net.CacheFactory」を選択して「OK」をクリックします。「Apply」をクリックします。
「Coherence」タブで、「Cache configuration descriptor」フィールドのcoherence-jcache-cache-config.xml
ファイルへ移動します。「Local storage」フィールドで、「Disabled (cache client)」を選択します。「Cluster port」
フィールドに3155などの一意の値を入力します。
ダイアログ・ボックスで「Classpath」タブを開きます。「Advanced」→「Add External Jars」をクリックし、クラスパスの「User Entries」セクションにMyFirstJCacheSample.jar
ファイルを追加します。「Up」および「Down」ボタンを使用して、MyFirstJCacheSample.jar
ファイルをJCache
プロジェクト・フォルダの前に移動します。「Classpath」タブは図12-6のようになります。
ダイアログ・ボックスの「Common」タブを開きます。「Shared file」ラジオ・ボタンをクリックし、「Browse」をクリックしてJCacheプロジェクトに移動します。「Apply」をクリックします。
「Run」をクリックし、キャッシュ・ファクトリ・インスタンスを起動します。
キャッシュ・ファクトリ・インスタンスが起動し、クラスタのメンバーとなり、コマンド行ツールのコマンド・プロンプトを返します。コマンド行ツールのコマンド・プロンプトでcache
コマンドを使用して、myCache
キャッシュを取得します。次に例を示します。
cache myCache
コマンド行ツールのコマンド・プロンプトで、list
コマンドを使用してキャッシュの内容を取得するには:
list
コマンドは次の文字列を返し、表示します。
Name = Gene Smith
例12-5に、キャッシュ・ファクトリ・インスタンスの出力を表示します。
例12-5 キャッシュ・ファクトリ・インスタンスの出力
... 2014-02-24 15:58:26.240/0.610 Oracle Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=n/a):Loaded operational overrides from "file:/C:/home/oracle/workspace/JCache/build/classes/tangosol-coherence-override.xml"
... 2014-02-24 15:58:29.303/3.673 Oracle Coherence GE 12.1.3.0.0 <D5> (thread=Invocation:Management, member=7): Service Management joined the cluster with senior service member 1 ...Map (?): cache myCache
2014-02-24 16:03:13.374/287.744 Oracle Coherence GE 12.1.3.0.0 <Info> (thread=main, member=7):Loaded cache configuration from "file:/C:/home/oracle/workspace/JCache/appClientModule/coherence-jcache-cache-config.xml"
...Map (myCache): list
Name = Gene Smith
Map (myCache):