実行時にクラスを Java にリロードする方法を探しています。動機は、デバッグをより効率的にすることです。アプリケーションは、要求を同期的に処理する典型的なクライアント/サーバー設計です。「ハンドラ」オブジェクトは、リクエストごとにインスタンス化されます。これは、動的に置き換える予定の唯一のクラスです。各リクエストは新しいインスタンスを処理するため、このクラスをリロードしても副作用はありません。要するに、このモジュールに変更があるたびにアプリケーション全体を再起動したくありません。
私の設計では、Java プロセスは、要求の間にクラスパスで .class ファイルが更新されたことを認識します。これが発生すると、「ハンドラ」クラスがアンロードされ、新しいクラスがロードされます。
classLoader インターフェースを使用して新しいクラスをロードできることはわかっています。「アンロード」の適切な方法を見つけるのに苦労しているようです。