Package nablarch.fw.launcher
Class Main
- All Implemented Interfaces:
Handler<CommandLine,Integer>
本フレームワークの起動シーケンスの起点となるクラス。
本クラスを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に使用される属性値を指定。
- Author:
- Iwauo Tajima
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intexecute(CommandLine commandLine) バッチを実行する。現在のハンドラキューの内容を返す。handle(CommandLine commandLine, ExecutionContext context) 入力データに対する処理を実行する。protected void各種ログの初期化を行う。static voidメインメソッド。protected voidアプリケーション設定のログを出力する。protected MainsetupExecutionContext(CommandLine commandLine, ExecutionContext context) バッチコントローラ起動前準備を行う。
実行コンテキストを生成し、以下の処理を行う。 コンポーネント設定ファイルに定義したハンドラキューの設定DataReaderの設定DataReaderFactoryの設定 ディスパッチハンドラの設定 セッションスコープにプロセスの実行権限ユーザIDと、起動オプションのマップを設定protected voidsetUpSystemRepository(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:
getHandlerQueuein classHandlerQueueManager<Main>- Returns:
- 現在のハンドラキューの内容
-
main
メインメソッド。 本メソッドでは、以下の内容をログ出力する。- 起動時 起動オプションや、起動引数(詳細は、
- 終了時 終了コードや処理時間(詳細は、
LauncherLogUtil.getStartLogMsg(CommandLine)を参照)LauncherLogUtil.getEndLogMsg(int, long)を参照})- Parameters:
args- コマンドライン引数
-
handle
入力データに対する処理を実行する。 この実装では、ハンドラキューに後続処理を委譲し、その処理結果から このプロセスの終了コードを算出して返す。- Specified by:
handlein 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()アプリケーション設定のログを出力する。
-