問題タブ [spring-data-gemfire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gemfire - リモート Gemfire キャッシュ サーバーを収集できませんでした
Gemfire と Spring のデータ キャッシングに取り組んでいます。Spring からローカル キャッシュ サーバーを正常に起動しました。しかし、以下の構成ではリモートキャッシュサーバーに接続できませんでした。しかし、Gfshを使用してリモートサーバーに接続できます--> connect --locator = remoter IP[10334]
問題のログは、「次の理由でプールを最小に事前設定できません: com.gemstone.gemfire.cache.client.NoAvailableLocatorsException: リスト内のロケーターに接続できません [remoeserver:10334]」です。
デスクトップで別のロケーターとサーバーを起動した後、Spring はクラスターに接続できます。しかし、Spring @Cachable が起動されたとき、リージョンは存在しなかったとのことです。エラー ログは Request processing failed; です。ネストされた例外は、「get リクエスト中に/Customer/Customerという名前のリージョンが見つかりませんでした」です。地域名は/Customer にする必要があります。
gemfire - データの有効期限がある Gemfire リージョン
このドキュメントに関して、「entry-time-to-live-expiration」とは、領域のエントリがアクセスまたは更新されずにキャッシュに保持できる期間を意味します。デフォルトでは、このタイプの有効期限はありません。しかし、Spring Cache と client-region を以下の構成で使用すると、設定がアクセスされてうまく動作しないことがわかりました。今後、このドキュメント - > XMLTTL タブに関して、「15 秒間変更されていないエントリを無効にするようにレプリカ領域を構成します。」 とありました。したがって、アクセスのためにTTLが機能するかどうかはわかりません。
gemfire - Spring gemfire シリアライゼーション例外
pojo オブジェクトに対して put/find を行うために Gemfire Spring を使用しています
HTTPAudit オブジェクトは、Serializable インターフェイスを実装します。
エンティティは Gemfire に正常に保存されましたが、デシリアライズしようとすると例外がスローされます。エラー メッセージは「com.gemstone.gemfire.SerializationException: キャッシュされた値を逆シリアル化しようとしているときに ClassNotFoundException がスローされました」です。
java - 複雑なオブジェクト グラフを gemfire 領域に配置する
私はGemFireに少し慣れていません。質問があります。ここにあります:
以下に示すように、次のオブジェクトグラフ(1と2)があります。
- ObjA には ObjB には ObjC があります
- ObjX には ObjY に ObjC がある
ObjC の同じインスタンスが ObjB と ObjY に関連付けられています。次に、ObjA と ObjX を gemfire 領域 R に配置します。
私の質問は、領域 R に同じ ObjC のインスタンスが 2 つあるのか、それとも 1 つだけなのかということです。2 つのインスタンスがある場合、リージョン R に単一のインスタンスを持つ方法はありますか?
spring-data-gemfire - レプリケートされたリージョンを使用して Gemfire ピア ピア構成に関心を登録する方法
約 15 のピアを持つ Peer-Peer gemfire トポロジがあります。私は Spring-data-gemfire を使用して gemfire コンテキストを初期化し、可能な限り最速のアクセスのためにすべてのリージョンをレプリケートします。
各ピアは、すべての Gemfire リージョンの小さなサブセットにのみアクセスする必要があります。各ピアには、必要なリージョンにのみ関心を登録し、不要なトラフィックはすべて回避してもらいたいと考えています。Spring-data-gemfire を使用してこれを行う方法はありますか?
使用したバージョン: Spring 3.2.1 Gemfire: 6.6.3.2 Spring-data-gemfire: 1.2.2
spring-data - サブリージョン キャッシュ リスナーの Spring データ gemfire のサポート
Spring-data-gemfire を使用して、既存のアプリケーション コードを起動する Gemfire に移植しようとしています。したがって、基本的には、領域構成を cache.xml から spring コンテキストに移動しています。
使用したバージョン: Gemfire 6.6.3.2 Spring-data-gemfire-1.3.4 Jdk 7
キャッシュ リスナーを構成する必要があるところまでは、すべて問題なく動作します。リージョンの単純なキャッシュ リスナーは機能しますが、キャッシュ リスナーをサブリージョンで機能させることができません。
例として、以下のリージョンがあります。/User/Details/Address 領域が更新されたときに、CacheUpdateListener (CacheListener インターフェースを実装する) に通知してほしい。私はすでにcache.xmlの方法で動作しているので、Gemfireがそれをサポートしていることを知っています。しかし、これを Spring-data-gemfire で動作させることができるかどうかは誰にもわかりません。これは私が試したもので、うまくいきませんでした。
** 編集: リスナー コードを追加しました ここにリスナーがあります。簡潔にするために、すべてのオーバーライドされた関数をここに記載していません。
locking - Gemfire クライアント/サーバー アーキテクチャとリージョン ロック
私はクライアント サーバー Gemfire アーキテクチャを使用しています。複数のサーバーが「グローバル」スコープでレプリケートされたリージョンを共有しています。
クライアント領域が次のように定義されているクライアントがあります。
このクライアント リージョンは、サーバー上のグローバル リージョンのプロキシとして機能します。
ここで、最初のクライアントが重要なタスクを実行している間、他のクライアントがそれを変更できないように、いくつかの操作を実行している間、クライアントからリージョンをロックしたいと思います。
残念ながら、例外があります:
では、クライアント側からリージョンをロックする方法はありますか?