最近、jrebel は、jersey リクエストを行ったときとシャットダウンしたときに、プロジェクト内のすべてのクラスをリロードし始めました。すべてのリクエストではないようですが、リクエストの合間にしばらく待つと、ほぼ確実に発生します。
プロジェクト内のすべてのクラスをループしてリロードするだけです-それを通り過ぎていたので、permgenをバンプする必要がありました。
これが突然発生する原因となる変更があった可能性があることを確認するためのアイデアはありますか?
問題は、レポの一部ではない jar をインストールする方法の Maven の問題であることが判明しました。奇妙な依存関係が発生し、循環参照が発生していました。これは、クラスが変更されるとすべてが更新され、jrebel がすべてをリロードすることを意味していました。
リクエストの前にアプリケーション クラス全体を再コンパイルしましたか? JRebel は、タイムスタンプが変更されたクラスのみをピックアップして更新します。
クラスの更新はそれ自体では開始されません。何かがプロセスをトリガーする必要があるため、リクエスト間で待機することはあまり意味がありません。リクエストをサービスに送信するデーモンプロセスがない限り。
-Drebel.log=true を使用して JRebel ロギングを有効にし、jrebel.log ファイルをサポートに送信します。これで追跡できます。