こんにちは、オラクルコヒーレンスは初めてです。
質問 1 : 私のシナリオは、Web アプリケーションにオラクル コヒーレンス レプリケート キャッシュを実装する必要があるということです。単一の JVM で実行します。方法を教えてください。
質問 2: レコードを維持するためにデータベースが必要か、それともファイル システムで自己維持するオラクルのコヒーレンスが必要か? はいの場合、サーバーをシャットダウンしたときにキャッシュされたデータはどのように、そしてどうなりますか?
こんにちは、オラクルコヒーレンスは初めてです。
質問 1 : 私のシナリオは、Web アプリケーションにオラクル コヒーレンス レプリケート キャッシュを実装する必要があるということです。単一の JVM で実行します。方法を教えてください。
質問 2: レコードを維持するためにデータベースが必要か、それともファイル システムで自己維持するオラクルのコヒーレンスが必要か? はいの場合、サーバーをシャットダウンしたときにキャッシュされたデータはどのように、そしてどうなりますか?
Q1:
いくつかの手順で説明します。
coherence.jar
クラスパスに配置します。特定のケースに応じて、WLS クラスパスまたはアプリケーションのクラスパスになります。多くのアプリケーション間でコヒーレンス ノードを共有する場合を除き、アプリケーションのクラスパスにコヒーレンス ノードを配置することをお勧めします。また、メンテナンスが容易になるなどの利点もあります。レプリケートされたトポロジ用に独自のキャッシュ構成を準備します。レプリケートされたトポロジを含むコヒーレンスのデフォルト キャッシュ構成を使用する場合は、この手順をスキップできますcoherence-cache-config.xml
が、キャッシュ名は で始まる必要がrepl-
あり、これは一般に本番環境では推奨されないことに注意してください。それ以外の場合は、次をcustom-cache-config.xml
ファイルに追加し、アプリケーションのクラスパスに追加してください。
<?xml バージョン="1.0"?> <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"> <キャッシングスキームマッピング> <キャッシュマッピング> <cache-name>my-repl-cache</cache-name> <scheme-name>複製</scheme-name> </キャッシュマッピング> </caching-scheme-mapping> <キャッシングスキーム> <複製スキーム> <scheme-name>複製</scheme-name> <backing-map-scheme> <ローカルスキーム/> </backing-map-scheme> <autostart>true</autostart> </replicated-scheme> </キャッシング-スキーム> </cache-config>
アプリケーションの を作成しContextListener
、次のコードをcontextInitialized
メソッドに配置します。
// join existing cluster or form a new one
CacheFactory.ensureCluster();
次のオプションを使用して WLS を開始します。
-Dtangosol.coherence.cacheconfig=custom-cache-config.xml
アプリケーションをデプロイして起動します (多くのサーバーにある可能性があります)
Q2:
一般に、コヒーレンスはメモリ内ソリューションであり、デフォルトではデータを保持しません。永続ストアでデータを管理する必要がある場合は、CacheStoreインターフェイスを調べることができます。これについては、こちらのドキュメントで説明されています。
多くの場合、クラスタには複数のコヒーレンス・ノードがあり、そのうちの1つをシャットダウンしてもデータが失われることはありません。データは常に他のJVMにも格納されるためです。ノードを再起動すると、ノードがクラスターに参加し、データがそこに表示されます。