Uruma 0.4.0 から、S2Container が提供する COOL Deploy をサポートするようになりました。これによって、規約にそってJavaコンポーネントを配置するだけで面倒な dicon ファイルの記述を行わなくてもアプリケーションが動かせるようになります。
COOL Deploy では、規約通りのパッケージにJavaクラスを配置するだけで、自動的に S2Container への登録や AOP の設定が行われます。
Uruma COOL Deploy は、現在のところ、RCP モードの Uruma のみで対応しています。スタンドアローンモードの Uruma をご利用の方は、申し訳ありませんが、従来の AutoRegister をご利用ください。
Uruma COOL Deploy を利用するには、以下の2つの dicon ファイルが必要となります。これらの dicon ファイルを Uruma アプリケーションプロジェクトのクラスパス直下(Mavenを利用している場合は src/main/resources 直下)に置いてください。
それぞれの説明については、リンク先の S2Container ドキュメントを参照してください。
また、これら2つのファイルは、ダウンロードページ からダウンロードできる RCP モード用のブランクプロジェクト(org.seasar.uruma.rcp.blank_x.y.z.zip、x.y.z の部分はバージョン)に含まれています。
s2container.dicon は、S2Container の設定を切り替えるための dicon ファイルです。ここでは、Uruma の提供する COOL Deploy 機能を利用するために、以下のように記述してください。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <include path="org/seasar/uruma/dicon/uruma-cooldeploy.dicon"/> </components>
convention.dicon は COOL Deploy におけるネーミング規約の設定をおこなうための dicon ファイルです。以下の例のように、Uruma アプリケーションのルートパッケージ名を指定します。(以下のブランクプロジェクトの例です)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components21.dtd"> <components> <component class="org.seasar.uruma.container.convention.UrumaNamingConventionImpl"> <initMethod name="addRootPackageName"> <arg>"org.seasar.uruma.rcp.blank"</arg> </initMethod> </component> </components>
Uruma COOL Deploy におけるパッケージ規約 は、以下のようになっています。
パッケージ | 説明 |
---|---|
examples.aaa examples.aaa.action examples.aaa.form examples.aaa.logic examples.aaa.provider examples.aaa.sorter examples.aaa.dto examples.aaa.interceptor |
Uruma アプリケーションのルートパッケージです。 アクションクラスを配置するパッケージです。 フォームクラスを配置するパッケージです。 ロジッククラスを配置するパッケージです。 ビューア系コンポーネントのためのプロバイダを配置するためのパッケージです。 ビューア系コンポーネントのためのソータを配置するためのパッケージです。 DTOを配置するためのパッケージです。 AOPで使用するインターセプタを配置するためのパッケージです。 |
この規約にそって Java クラスを各パッケージ配置するだけで、Uruma アプリケーション実行時に各コンポーネントが S2Container へ登録されます。
また、これはあくまで推奨の規約ですので、自由に変更することもできます。パッケージ規約は、uruma 本体の jar ファイルに含まれている、org/seasar/uruma/dicon/uruma-creator.dicon の内容によって決まっています。この dicon は 同じパッケージにある uruma-cooldeploy-autoregister.dicon から条件インクルードされています。
Uruma アプリケーション側に creator.dicon が存在する場合は、そちらを読み込み、標準の uruma-creator.dicon は無視するようになっていますので、クリエータを変更したい場合は creator.dicon を作成してください。
同様にカスタマイザについてもカスタマイズが可能です。Uruma 標準のカスタマイザは、uruma 本体の jar の中で、org/seasar/uruma/dicon/uruma-cusomizer.dicon です。このファイルも uruma-cooldeploy-autoregister.dicon から条件インクルードされています。
Uruma アプリケーション側に customizer.dicon が存在する場合は、そちらを読み込み、標準の uruma-customizer.dicon は無視するようになっていますので、カスタマイザを変更したい場合は customizer.dicon を作成してください。