Nautica Workflow

jp.co.argo21.nautica.workflow.ta
クラス AbstractToolAgent

java.lang.Object
  拡張jp.co.argo21.nautica.workflow.ta.AbstractToolAgent
すべての実装インタフェース:
ToolAgent
直系の既知のサブクラス:
MailToolAgent, ScriptingToolAgent, SystemCommandToolAgent

public abstract class AbstractToolAgent
extends java.lang.Object
implements ToolAgent

ツールエージェントの抽象クラス。 ツールエージェントハンドル(=実行ID)の取得、 アプリケーション実行テーブルへのレコード追加、 キューへの実行情報の送信、 プロセスの管理 を行う。

導入されたバージョン:
Nautica Workflow 0.9
バージョン:
$Revision: 1.2 $

フィールドの概要
protected  org.apache.log4j.Logger log
           
protected  java.lang.String passwd
          パスワード
protected  int retryCount
           
protected  java.lang.String session
          セッションID
static java.lang.String TOOLAGENT_PATH
          ツールエージェントパス
protected  MessageTransporter tp
           
protected  java.lang.String userId
          ユーザID
 
コンストラクタの概要
AbstractToolAgent()
          ツールエージェントオブジェクトを生成する。
 
メソッドの概要
protected abstract  void checkApplicationDefined(java.lang.String appName)
          アプリケーションが定義されているかどうかチェックする。
protected  java.lang.String connect()
          ワークフローエンジンと接続する。
protected  void disconnect(java.lang.String session)
          ワークフローエンジンから切断する。
protected abstract  AppExecutionInfo getExecInfo(java.lang.String appName, java.lang.String wid, int handler, Attribute[] attrList)
          キューに送信するアプリケーション実行情報を取得する。
protected abstract  java.lang.String getQueueName()
          アプリケーション実行情報を送信するキュー名を取得する。
protected abstract  java.lang.String getToolAgentClassName()
          アプリケーションを起動するツールエージェントのクラス名を取得する。
 int invokeApplication(java.lang.String appName, java.lang.String wid, Attribute[] attrList)
          アプリケーションの起動を行う。
 int requestAppStatus(int toolAgentHandle, java.lang.String wid)
          アプリケーションの実行状態を取得する。
protected  void retryApplication(AppExecutionInfo info)
          アプリケーションを再実行する。
protected  void setRetryCount(int count)
          アプリケーションの試行回数を設定する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース jp.co.argo21.nautica.workflow.wfmc.ToolAgent から継承したメソッド
terminateApplication
 

フィールドの詳細

TOOLAGENT_PATH

public static final java.lang.String TOOLAGENT_PATH
ツールエージェントパス


log

protected org.apache.log4j.Logger log

tp

protected MessageTransporter tp

retryCount

protected int retryCount

userId

protected java.lang.String userId
ユーザID


passwd

protected java.lang.String passwd
パスワード


session

protected java.lang.String session
セッションID

コンストラクタの詳細

AbstractToolAgent

public AbstractToolAgent()
ツールエージェントオブジェクトを生成する。

メソッドの詳細

getToolAgentClassName

protected abstract java.lang.String getToolAgentClassName()
アプリケーションを起動するツールエージェントのクラス名を取得する。

戻り値:
アプリケーションを起動するツールエージェントのクラス名

getQueueName

protected abstract java.lang.String getQueueName()
アプリケーション実行情報を送信するキュー名を取得する。 ツールエージェント毎にキューが必要で、そのキューに名前をつけなくてはならない。 このキュー名はツールエージェント固有の文字列である。 基本的にはツールエージェント名を使用する。 各ツールエージェントで重複しないように注意すること。

戻り値:
キュー名

getExecInfo

protected abstract AppExecutionInfo getExecInfo(java.lang.String appName,
                                                java.lang.String wid,
                                                int handler,
                                                Attribute[] attrList)
キューに送信するアプリケーション実行情報を取得する。 アプリケーション実行クラスでは、この情報を基にして、 アプリケーションを実行する。

パラメータ:
appName - 定義に指定したアプリケーション名
wid - 作業項目ID
handler - ツールエージェントハンドラ
attrList - 属性一覧
戻り値:
アプリケーション実行情報

checkApplicationDefined

protected abstract void checkApplicationDefined(java.lang.String appName)
                                         throws ApplicationNotDefinedException
アプリケーションが定義されているかどうかチェックする。 アプリケーションが定義されていない場合、例外が発生する。

パラメータ:
appName - アプリケーション名
例外:
ApplicationNotDefinedException - アプリケーションが定義されていない場合

invokeApplication

public int invokeApplication(java.lang.String appName,
                             java.lang.String wid,
                             Attribute[] attrList)
                      throws ApplicationNotStartedException,
                             ApplicationNotDefinedException,
                             ApplicationBusyException
アプリケーションの起動を行う。 制限事項として、本ワークフローシステム運用基盤では、 引数にモードは含まないものとする。

定義:
インタフェース ToolAgent 内の invokeApplication
パラメータ:
appName - 定義に指定したアプリケーション名
wid - 作業項目ID
attrList - 属性一覧
戻り値:
ツールエージェントハンドラ
例外:
ApplicationNotStartedException - アプリケーションが開始できなかった場合
ApplicationNotDefinedException - アプリケーションが定義されていない場合
ApplicationBusyException - アプリケーションがビジーで要求を受けられない場合

retryApplication

protected void retryApplication(AppExecutionInfo info)
                         throws ApplicationNotStartedException
アプリケーションを再実行する。 アプリケーション実行情報をキューに登録することにより、 アプリケーションを再実行する。

パラメータ:
info - アプリケーション実行情報
例外:
ApplicationNotStartedException - アプリケーションが開始できなかった場合

setRetryCount

protected void setRetryCount(int count)
アプリケーションの試行回数を設定する。

パラメータ:
count - アプリケーションの試行回数

requestAppStatus

public int requestAppStatus(int toolAgentHandle,
                            java.lang.String wid)
                     throws ApplicationBusyException,
                            InvalidToolAgentException,
                            InvalidWorkItemException
アプリケーションの実行状態を取得する。 実行状態は、以下のものを用意する。 制限事項として、本ワークフローシステム運用基盤では、 属性については、ツールエージェント、またはアプリケーションから 更新されると想定し、引数には含まないこととする。

定義:
インタフェース ToolAgent 内の requestAppStatus
パラメータ:
toolAgentHandle - ツールエージェントハンドル
wid - 作業項目ID
戻り値:
実行状態
例外:
ApplicationBusyException - アプリケーションがビジーで要求を受けられない場合
InvalidToolAgentException - 有効でないツールエージェントハンドルを指定した場合
InvalidWorkItemException - 有効でない作業項目IDを指定した場合

connect

protected java.lang.String connect()
                            throws ConnectionFailedException
ワークフローエンジンと接続する。 ワークフローエンジンに接続していなければ、接続する。 既に接続している場合は、一旦切断して、再接続する。

戻り値:
セッションID
例外:
ConnectionFailedException - ワークフローエンジンとの接続に失敗した場合
関連項目:
connect()

disconnect

protected void disconnect(java.lang.String session)
ワークフローエンジンから切断する。

パラメータ:
session -
関連項目:
disconnect(java.lang.String)

株式会社アルゴ21


Copyright 2005 株式会社アルゴ21