Package nablarch.fw.launcher
Class Main
- All Implemented Interfaces:
Handler<CommandLine,
Integer>
- Direct Known Subclasses:
MainForRequestTesting
本フレームワークの起動シーケンスの起点となるクラス。
本クラスをjavaコマンドから直接起動することで、以下の処理を行う。
1. コマンドライン引数のパース。 2. コンポーネント設定ファイル(xml)の読み込みとハンドラー構成の初期化 3. ハンドラーキューに対する後続処理の委譲。 4. 終了/エラー処理。 (結果コードはハンドラキューの戻り値、または送出された例外をもとに設定する。)以下は、本クラスの使用例である。 (起動オプションに設定した値は、
CommandLine
オブジェクトから取得できる。)
起動コマンドの例
java \
-server \
-Xmx128m \
-Dsample=100 \
nablarch.fw.launcher.Main \
-diConfig file:./batch-config.xml \
-requestPath admin.DataUnloadBatchAction/BC0012 \
-userId testUser \
-namedParam value \
value1
起動コマンドの説明アプリケーション引数(JVMへの設定である起動コマンドの説明は行わない) -Dsample コンポーネント設定ファイル中の埋め込みパラメータの値。例では、${sample}に100が設定される。 Mainクラスへの引数 (必須) -diConfig コンポーネント設定ファイルのファイルパス。クラスパス配下のxmlファイルを指定。 (必須) -requestPath 実行対象のアクションハンドラクラス名/リクエストIDを指定。 (必須) -userId プロセスの実行権限ユーザID。セッション変数とスレッドコンテキストに保持される。 -namedParam 名前付きパラメータ。CommandLine
に使用される属性値を指定。 value1 無名パラメータ。CommandLine
に使用される属性値を指定。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
execute
(CommandLine commandLine) バッチを実行する。現在のハンドラキューの内容を返す。handle
(CommandLine commandLine, ExecutionContext context) 入力データに対する処理を実行する。protected void
各種ログの初期化を行う。static void
メインメソッド。protected void
アプリケーション設定のログを出力する。protected Main
setupExecutionContext
(CommandLine commandLine, ExecutionContext context) バッチコントローラ起動前準備を行う。
実行コンテキストを生成し、以下の処理を行う。 コンポーネント設定ファイルに定義したハンドラキューの設定DataReader
の設定DataReaderFactory
の設定 ディスパッチハンドラの設定 セッションスコープにプロセスの実行権限ユーザIDと、起動オプションのマップを設定protected void
setUpSystemRepository
(String configFilePath) コンポーネント設定ファイルの設定にしたがって、システムリポジトリの初期化を行う。Methods inherited from class nablarch.fw.HandlerQueueManager
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder
-
Constructor Details
-
Main
public Main()
-
-
Method Details
-
getHandlerQueue
Description copied from class:HandlerQueueManager
現在のハンドラキューの内容を返す。- Specified by:
getHandlerQueue
in classHandlerQueueManager<Main>
- Returns:
- 現在のハンドラキューの内容
-
main
メインメソッド。 本メソッドでは、以下の内容をログ出力する。- 起動時 起動オプションや、起動引数(詳細は、
- 終了時 終了コードや処理時間(詳細は、
LauncherLogUtil.getStartLogMsg(CommandLine)
を参照)LauncherLogUtil.getEndLogMsg(int, long)
を参照})- Parameters:
args
- コマンドライン引数
-
handle
入力データに対する処理を実行する。 この実装では、ハンドラキューに後続処理を委譲し、その処理結果から このプロセスの終了コードを算出して返す。- Specified by:
handle
in interfaceHandler<CommandLine,
Integer> - Parameters:
commandLine
- 入力データcontext
- 実行コンテキスト- Returns:
- 処理結果データ
-
execute
バッチを実行する。handle(CommandLine, ExecutionContext)
に処理を委譲して結果を返す。- Parameters:
commandLine
- 起動オプション- Returns:
- 終了コード
-
setupExecutionContext
バッチコントローラ起動前準備を行う。
実行コンテキストを生成し、以下の処理を行う。- コンポーネント設定ファイルに定義したハンドラキューの設定
DataReader
の設定DataReaderFactory
の設定- ディスパッチハンドラの設定
- セッションスコープにプロセスの実行権限ユーザIDと、起動オプションのマップを設定
- Parameters:
commandLine
- 起動オプションcontext
- 実行コンテキスト- Returns:
- 初期化されたコントローラ
-
setUpSystemRepository
コンポーネント設定ファイルの設定にしたがって、システムリポジトリの初期化を行う。- Parameters:
configFilePath
- コンポーネント設定ファイルのパス
-
initializeLog
protected void initializeLog()各種ログの初期化を行う。 -
outputAppSettingsLog
protected void outputAppSettingsLog()アプリケーション設定のログを出力する。
-