9.2. ClusteredLock 設定
現在、ClusteredLock の 1 つのタイプがサポートされています。reentrant、NODE 所有権ロックです。
9.2.1. 所有権 リンクのコピーリンクがクリップボードにコピーされました!
-
NODEは、ClusteredLockが定義されると、Data Grid クラスターのすべてのノードでこのロックを使用できます。所有権が NODE タイプである場合、ロックの所有者は、特定の時点でロックを取得する Data Grid ノードになります。つまり、ClusteredCacheManagerを使用してClusteredLockインスタンスを取得するたびに、このインスタンスは各 Data Grid ノードの同じインスタンスになります。このロックは、Data Grid ノード間のコードの同期に使用できます。このロックの利点は、ノード内のすべてのスレッドが特定のタイミングでロックを解放できることです。 -
INSTANCE- まだサポートされていません
ClusteredLock が定義されると、Data Grid クラスターのすべてのノードでこのロックを使用できます。所有権が INSTANCE タイプである場合、ロックの所有者は、ClusteredLockManager.get ("lockName") が呼び出される際に取得した実際のインスタンスになります。
これは、ClusteredCacheManager を使用して ClusteredLock インスタンスを取得するたびに、このインスタンスは新しいインスタンスになります。このロックを使用して、Data Grid ノード間でコードと各 Data Grid ノード間でコードを同期します。このロックの利点は、ロックを呼び出したインスタンスのみがロックを解放できることです。
9.2.2. 再入可能性 リンクのコピーリンクがクリップボードにコピーされました!
ClusteredLock がリエントラントに構成されている場合、ロックの所有者は、ロックを保持している間、何度でも連続してロックを再取得することができます。
現在、非リエントラントロックのみサポートされています。つまり、2 つの連続した lock 呼び出しが同じ所有者に対して送信されると、最初の呼び出しは利用可能な場合はロックを取得し、2 番目の呼び出しはブロックされます。