ひがやすを技術ブログ

電通国際情報サービスのプログラマ

HOT deployの対象

HOT deployは、DIContainerで扱っているコンポーネントだけが、対象だというふうに思われる方もいるかもしれませんが、OndemandBehaviorのrootPackageName以下のクラスはすべて対象です。staticなメソッドもnewしたオブジェクトも対象です。DIContainerで扱っていないクラスには、DIやAOPは適用できませんが、即座に変更が反映されます。
試しに、hotdeploy-demoでためしてみましょう。最初に、アプリケーションサーバを起動します。その後に、examples.hotdeploy.util.CalcUtilというユーティリティクラスを作成しましょう。そこにadd(int, int):intメソッドを追加します。そして、AddAction#calculate()から呼び出すようにすれば、その内容が反映されます。CalcUtil#add()を変更してみてください。即座に変更が反映されるのが分かるでしょう。