ひがやすを技術ブログ

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

HOT deployとHOT swapの違い

Seasar2.3には、HOT swapという機能が実はありました。HOT swapとは何かというと、インターフェースを実装したクラスの実装部分のみが変更されても大丈夫なようにするというものです。
例えば、Fooインターフェースにgreet()メソッドがあり、FooImplクラスがFooインターフェースを実装していたとします。そのときに、FooImpl#greet()メソッドの実装の中身を変える分には即座に対応できるのが、HOT swapです。インターフェース自身の変更には対応できません。staticなメソッドも対応できません。クラスの追加にも対応できません。
どんな変更にも対応できるようにしたのが、HOT deployになります。HOT deployがあるので、HOT swapは2.4では、廃止する予定です。たぶん、ほとんど使われていなかったと思うし。