概要
このドキュメントでは,SMART deployの概要を説明し, はまらないで使いこなすための指針を紹介します.
SMART deployの種類
SMART deployには,以下の3種類のモードがあります.
- HOT deploy
-
コンポーネントが必要とされたときに (on demandで) そのコンポーネントだけを自動登録するモードです.
コンポーネントのクラスをHOT deploy専用のクラスローダにロードすることで, WEBコンテナの再起動や再デプロイをすることなく,クラスの変更が反映されます.
Webアプリケーションなど, サーバとしてプロセスを起動したまま実行するプログラムの開発時に適したモードです. - COOL deploy
-
コンテナの初期化時に全てのコンポーネントを自動登録するモードです.
サーバアプリケーションの実行に適したモードです. - WARM deploy
-
コンポーネントが必要とされたときに (on demandで) そのコンポーネントだけを自動登録するモードです.
HOT deployとは異なり,専用のクラスローダは使用しません. 一度ロードされたクラスは,.classファイルが変更されても反映されません.
クライアントアプリケーションやテストケースの実行に適したモードです.
SMART deployのモードを切り替える方法は SMART deployの切り替え を参照してください.
パッケージ構成
- HOT deploy非対象クラスからHOT deploy対象クラスを参照しない
convention.dicon
<component class="org.seasar.framework.convention.impl.NamingConventionImpl"> <!-- HOT deploy 対象のルートパッケージ --> <initMethod name="addRootPackageName"> <arg>"jp.co.xxx.yyy.app"</arg> </initMethod> <!-- HOT deploy 非対象のルートパッケージ --> <initMethod name="addRootPackageName"> <arg>"jp.co.xxx.yyy.infra"</arg> <arg>false</arg> </initMethod> </component>