public class NewLock extends Object implements Lock, Serializable
このクラスでは、ロックのフラグ情報をシステムデータベースで一元的に管理するため、異なるプロセス間における プログラム実行の直列化を実現することができます。
コンストラクタと説明 |
---|
NewLock(CharSequence id)
ロックをするためのインスタンスを作ります。
|
修飾子とタイプ | メソッドと説明 |
---|---|
String |
getName()
このインスタンスの表すロックIDを返します。
|
void |
lock()
ロックフラグを立てます。
|
void |
lockInterruptibly() |
void |
lockRequestScope()
ロックフラグを立てます。
|
Condition |
newCondition() |
static List<String> |
releaseCurrentThread()
現在のスレッドに紐付いたロックを全て解除します。
|
static List<String> |
releaseRequestScope()
非推奨です。
このメソッドは、
RequestScopeLockReleaseFilter 専用です。 |
void |
run(Runnable runnable)
ロックを獲得し処理を行います。
|
boolean |
run(Runnable runnable,
long timeout,
TimeUnit unit)
ロックを獲得し処理を行います。
|
boolean |
tryLock() |
boolean |
tryLock(long timeout,
TimeUnit unit)
ロックフラグを立てます。
|
boolean |
tryLockRequestScope()
ロックフラグを立てます。
|
boolean |
tryLockRequestScope(long timeout,
TimeUnit unit)
ロックフラグを立てます。
|
void |
unlock()
ロックを解除します。
|
public NewLock(CharSequence id)
id
- ロックIDNullPointerException
- 引数が nullpublic String getName()
public void lock()
public boolean tryLock(long timeout, TimeUnit unit)
timeout
に 0
を指定した場合、lock()
と同様にロックフラグが解除されるまで待機します。public void lockRequestScope()
lock()
と同様の機能を提供しますが、 現在のリクエストが終了する際(=レスポンスを返却する際)に、ロックの解除が自動的に行われる点が異なります。RequestScopeLockReleaseFilter
にて行われます。public boolean tryLockRequestScope()
tryLock()
と同様の機能を提供しますが、 現在のリクエストが終了する際(=レスポンスを返却する際)に、ロックの解除が自動的に行われる点が異なります。RequestScopeLockReleaseFilter
にて行われます。public boolean tryLockRequestScope(long timeout, TimeUnit unit)
tryLock(long, TimeUnit)
と同様の機能を提供しますが、 現在のリクエストが終了する際(=レスポンスを返却する際)に、ロックの解除が自動的に行われる点が異なります。RequestScopeLockReleaseFilter
にて行われます。timeout
- ロック開始要求の待ち時間unit
- ロック開始要求の待ち時間の単位public void run(Runnable runnable)
runnable
- ロック獲得中に行う処理public boolean run(Runnable runnable, long timeout, TimeUnit unit)
runnable
- ロック獲得中に行う処理timeout
- ロック開始要求の待ち時間unit
- ロック開始要求の待ち時間の単位public static List<String> releaseCurrentThread()
@Deprecated public static List<String> releaseRequestScope()
RequestScopeLockReleaseFilter
専用です。public void lockInterruptibly() throws InterruptedException
lockInterruptibly
インタフェース内 Lock
InterruptedException
public Condition newCondition()
newCondition
インタフェース内 Lock
Copyright © 2012 NTT DATA INTRAMART CORPORATION