0

誰かがこのトピックについての彼の経験を共有していただけませんか?

Tomcatでjpdaを使用する場合、Springを介してロードされたクラスでもクラスのリロードは機能しますか?いくつかのクラスがロードされてインスタンス化されたSpringコンテキストがあり、そのうちの1つでメソッドを変更したいとします。

一般に、クラスは置き換えられ、再ロードされ、他のすべてのインスタンスはクラスの新しいバージョンからインスタンス化されます。古いインスタンスでさえ古いものに置き換えられていると思いますか?

これは、Springを使用した場合にも機能しますか?私はMVCコントローラーを持っていて、そのメソッドを変更しますか?

または、この要件にJRebelを使用する必要がありますか。

4

1 に答える 1

0

これに関する私の経験では、もちろんメソッドの署名を変更したり、フィールドを追加したりしない限り、うまく確実に機能します。Spring コンテナー (MVC コントローラーを含む) 内の任意のクラスの既存のメソッドの実装を変更すると、完全に機能するはずです。予想通り。参考までに、これを最後にテストしたのは Tomcat 6、Spring 3 で、Netbeans 6.9 の「Apply Code Changes」をリモート接続デバッガーで使用していましたが、これは Java 標準であるため、IDE が大きな影響を与えるとは思えません。

編集: 上記のどれも JRebel には関係ありません (私は一度も使用したことがありません)。

于 2011-03-23T23:54:30.873 に答える