public class SharedResource extends Object implements Serializable
NewLock
APIを利用しています。NewLock
APIと違い、この機能はテナント単位でロックを獲得します。従ってテナントを跨るような仕組みでは利用できません。コンストラクタと説明 |
---|
SharedResource(String application,
BusinessKeys businessKeys)
SharedResourceインスタンスを生成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
String |
getApplication()
アプリケーションを取得します。
|
BusinessKeys |
getBusinessKeys()
業務キーを取得します。
|
String |
getKey()
このSharedResourceを一意に表すキーを返却します。
|
protected String |
getLockKey()
NewLock で利用するためのロックキーを生成、取得します。 |
LockState |
getLockState()
現在のロック状態を取得します。
|
protected void |
notifyLock()
ロックを獲得した通知を行います。
|
protected void |
notifyUnlock()
ロックを開放した通知を行います。
|
void |
notifyUpdate()
クライアントに対してリソースの更新が行われたことを通知します。
|
boolean |
run(Runnable runnable,
long timeout,
TimeUnit unit)
ロックを獲得した場合、引数 runnable に受け渡された処理を実行します。
|
boolean |
runAndNotify(Runnable runnable,
long timeout,
TimeUnit unit)
ロックを獲得した場合、引数 runnable に受け渡された処理を実行します。
|
boolean |
tryLock()
ロックを獲得します。
|
boolean |
tryLock(long timeout,
TimeUnit unit)
ロックを獲得します。
|
boolean |
tryLockAndNotify()
ロックを獲得します。
|
boolean |
tryLockAndNotify(long timeout,
TimeUnit unit)
ロックを獲得します。
|
void |
unlock()
ロックの解放を行います。
|
void |
unlockAndNotify()
ロックの解放を行います。
|
public SharedResource(String application, BusinessKeys businessKeys)
application
- 一意となるアプリケーションbusinessKeys
- リソースを一意に表す業務キーpublic String getKey()
public String getApplication()
public BusinessKeys getBusinessKeys()
public boolean tryLock()
NewLock.tryLock()
を利用します。public boolean tryLock(long timeout, TimeUnit unit)
NewLock.tryLock(long, TimeUnit)
を利用します。timeout
- タイムアウトunit
- 単位public boolean tryLockAndNotify()
NewLock.tryLock()
を利用します。public boolean tryLockAndNotify(long timeout, TimeUnit unit)
NewLock.tryLock(long, TimeUnit)
を利用します。timeout
- タイムアウトunit
- 単位public boolean run(Runnable runnable, long timeout, TimeUnit unit)
NewLock.run(Runnable, long, TimeUnit)
を実行します。runnable
- 実行する処理timeout
- タイムアウトunit
- 単位public boolean runAndNotify(Runnable runnable, long timeout, TimeUnit unit)
notifyUpdate()
を呼び出しリソースの更新をクライアントに通知する必要があります。
NewLock.run(Runnable, long, TimeUnit)
を実行します。runnable
- 実行する処理timeout
- タイムアウトunit
- 単位public void unlock()
NewLock.unlock()
を利用します、そのためこのインスタンス以外で同一のリソースに対して獲得したロックに対しても開放を行います。public void unlockAndNotify()
NewLock.unlock()
を利用します、そのためこのインスタンス以外で同一のリソースに対して獲得したロックに対しても開放を行います。public void notifyUpdate()
protected String getLockKey()
protected void notifyLock()
protected void notifyUnlock()
session
- セッション情報public LockState getLockState()
Copyright © 2012 NTT DATA INTRAMART CORPORATION