実行時プラグインのデプロイ

この文書では、Asakusa Frameworkの実行時プラグインのデプロイ方法について説明します。

実行時プラグインについて

実行時プラグインとは、Asakusa FrameworkのフレームワークAPIを拡張するための内部機構です。 バッチアプリケーションがAsakusa Frameworkが標準で提供していない、個別の拡張フレームワークAPIを使用している場合は、以下に説明する手順に従って、実行時プラグインのデプロイを行ってください。

実行時プラグイン用ライブラリの配置

実行時プラグイン用ライブラリはjarファイルとして提供されます。 実行時プラグイン用のjarファイルは $ASAKUSA_HOME/ext/lib ディレクトリに配置してください。

デプロイメントアーカイブの生成時に実行時プラグイン用のjarファイルを同梱することもできます。 Asakusa Framework デプロイメントガイド - 外部ライブラリの配置 の例などを参考にしてください。

実行時プラグインの設定

実行時プラグインの設定ファイルを編集します。

実行時プラグインの設定は、 $ASAKUSA_HOME/core/conf/asakusa-resources.xml を編集します。 以下のように、それぞれの設定項目に対して <property> 要素を作成し、設定名を <name> 要素に、設定値を <value> 要素にそれぞれ設定します。

asakusa-resources.xml
<configuration>
    <property>
        <name>com.asakusafw.runtime.core.Report.Delegate</name>
        <value>com.asakusafw.runtime.core.Report$Default</value>
    </property>
    <property>
        <name>com.asakusafw.runtime.extention.HogeRuntimePlugin.Delegate</name>
        <value>com.asakusafw.runtime.extention.HogeRuntimePlugin$Default</value>
    </property>
</configuration>

レポートAPIに関するプラグイン

レポートAPIは実行時プラグインの仕組みを利用して実装されており、レポートAPIの実装を自由に差し替えることが可能です。 レポートAPIは Report.Delegate [1] インターフェースを実装したクラスを利用して自由に実装を変更できます。

レポートAPIの実装クラスは、実行時プラグインの設定に対し、 com.asakusafw.runtime.core.Report.Delegate という設定名で設定値に実装クラスの完全限定名を指定します。

Asakusa Frameworkは以下の実装クラスを組み込みで提供しています。

レポートAPIの組み込み実装クラス
クラス名 概要
com.asakusafw.runtime.core.Report$Default [2] 標準出力にレポートを出力する実装。
com.asakusafw.runtime.report.CommonsLoggingReport [3] Commons Loggingを経由してレポートを出力する実装。 Hadoop上で実行する場合、Hadoopのログの設定を変更することで出力先等を設定可能。

レポートAPIの利用方法については Asakusa DSLユーザーガイド を参照してください。

[1]com.asakusafw.runtime.core.Report.Delegate
[2]com.asakusafw.runtime.core.Report.Default
[3]com.asakusafw.runtime.report.CommonsLoggingReport