intra-mart(R)
5.0

jp.co.intra_mart.foundation.service.client.information
クラス Lock

java.lang.Object
  拡張jp.co.intra_mart.foundation.service.client.NetworkConnector
      拡張jp.co.intra_mart.foundation.service.client.NetworkAgent
          拡張jp.co.intra_mart.foundation.service.client.information.Lock
すべての実装インタフェース:
ActionListener, Serializable

public class Lock
extends NetworkAgent
implements Serializable

アプリケーションロックをするための機能を提供します。

このクラスでは、ロックのフラグ情報を Serialization Servive において 一元的に管理するため、異なる Application Runtime プロセス間における プログラム実行の直列化を実現することができます。

関連項目:
直列化された形式

フィールドの概要
 
クラス jp.co.intra_mart.foundation.service.client.NetworkAgent から継承したフィールド
NULL_DATA
 
クラス jp.co.intra_mart.foundation.service.client.NetworkConnector から継承したフィールド
GET, GET_ENTIRETY, GET_ENTIRETY_KEY, GET_ITEM, GET_ITEM_KEY, GET_SUBSET, MOVE, MOVE_ENTIRETY, MOVE_ITEM, REMOVE, REMOVE_ENTIRETY, REMOVE_ITEM, SET, SET_ENTIRETY, SET_ITEM
 
コンストラクタの概要
Lock(String id)
          ロックをするためのインスタンスを作ります。
 
メソッドの概要
 Object action(Object args)
          推奨されていません。  
 void begin()
          ロックフラグを立てます。
 boolean begin(long timeout)
          ロックフラグを立てます。
protected  SocketConnection connection()
          サーバに接続するためのコネクションを取得します。
 boolean end()
          ロックを解除します。
 String getName()
          このインスタンスの表すロックIDを返します。
 boolean isLocked()
          ロックの状態を確認します。
static List releaseCurrentThread()
          現在のスレッドに紐付いたロックを全て解除します。
 
クラス jp.co.intra_mart.foundation.service.client.NetworkAgent から継承したメソッド
execute
 
クラス jp.co.intra_mart.foundation.service.client.NetworkConnector から継承したメソッド
close, execute, freeMemory, isConnected, serverTime, totalMemory
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Lock

public Lock(String id)
     throws NullPointerException
ロックをするためのインスタンスを作ります。 コンストラクタの引数に指定したキーに対するロック機構を提供します。 ロックの機能は Serialization Servive 上に実装されているので このAPIが分散の環境において実行された場合においても同一のキーに マッピングされたロックとして排他制御を行う事が出来ます。

パラメータ:
id - ロックID
例外:
NullPointerException - 引数が null
メソッドの詳細

connection

protected SocketConnection connection()
                               throws IOException
サーバに接続するためのコネクションを取得します。

定義:
クラス NetworkConnector 内の connection
戻り値:
コネクション
例外:
IOException - 入出力エラーが発生した場合

getName

public String getName()
このインスタンスの表すロックIDを返します。

戻り値:
ロックID

begin

public void begin()
           throws IOException
ロックフラグを立てます。 このオブジェクトが表すキーに対してロックフラグを立てます。 既にロックフラグが設定されている場合には、ロックフラグが解除されるまで 待機します。このAPIによりロックフラグが設定された場合、ロックフラグを 解除するまで他の begin() 要求は待機状態となります。

例外:
IOException - 入出力エラー

begin

public boolean begin(long timeout)
              throws IOException
ロックフラグを立てます。 このオブジェクトが表すキーに対してロックフラグを立てます。 既にロックフラグが設定されている場合には、ロックフラグが解除されるまで 待機します。このAPIによりロックフラグが設定された場合、ロックフラグを 解除するまで他の begin() 要求は待機状態となります。 既にロック状態であり、引数 timeout 秒経過してもロックが解除されなかった 場合、このメソッドは false を返します。

パラメータ:
timeout - ロック開始要求の待ち時間(秒)
戻り値:
ロックの設定に成功した場合 true
例外:
IOException - 入出力エラー

end

public boolean end()
            throws IOException
ロックを解除します。 このオブジェクトが表すキーに対してロックを解除します。

戻り値:
ロック解除に成功した場合 true
例外:
IOException - 入出力エラー

isLocked

public boolean isLocked()
                 throws IOException
ロックの状態を確認します。 このオブジェクトが表すキーに対するロックの状態を確認します。 このオブジェクトが表すキーに対して begin() メソッドが実行されていて また、ロックセッション時間内であって end() メソッドが実行されていない場合、このメソッドは true を 返します。

戻り値:
すでにロック状態である場合 true
例外:
IOException - 入出力エラー

action

public Object action(Object args)
推奨されていません。  

処理ロジックの実行。

定義:
インタフェース ActionListener 内の action
定義:
クラス NetworkAgent 内の action
パラメータ:
args - 実行時引数
戻り値:
処理結果
関連項目:
NetworkAgent.execute(Object)

releaseCurrentThread

public static List releaseCurrentThread()
現在のスレッドに紐付いたロックを全て解除します。

戻り値:
現在のスレッドに紐づいたロックが存在しない場合は null を返却します。
上記以外の場合、ロックの解除に失敗したロックID(String)を格納したListを返却します。
(ロック解除に全て成功した際には、要素が空のListが返却されます)

intra-mart(R)
5.0

Copyright © 2000-2005 NTT DATA INTRAMART CO.,LTD. All Rights Reserved.