3

私は eclipse で DCEVM ホットスワップ テクノロジと IntelliJ IDE を使用しましたが、これは非常に優れた機能でした。IDE で DCEVM を使用することで、プログラムを再起動せずに実行時にメソッド、クラス、プロパティを追加/削除/編集するなど、ソース コードに変更することができます。

私の質問は 、IDE を使用せずに実行中のアプリケーションに同じ機能を適用したいということです。具体的に言うと、実行中のアプリケーションのソース コード (コンパイルされたコード) はその場で変更できます。そして、そのバイトコードについて、ランタイムのホットスワップのために DCEVM にデプロイする方法は?

私が見つけたのは 、IDEを使用せずにホットスワップを実行できるため、独自のJNIコードを記述してJVMTIに直接フックし、ホットスワップをトリガーできることです。

どんなアイデア/ヘルプも非常に役に立ちます。ありがとう

4

1 に答える 1

1

幸いなことに、解決策を見つけました。HotSwapperプラグインを使用して、この種の問題を解決できます。同じ質問が dcevm ディスカッション フォーラムで尋ねられます。

https://groups.google.com/forum/#!topic/hotswapagent/Uk3cUdkHNYQ

このリンクhttps://news.ycombinator.com/item?id=3198497からの情報は非常に役に立ちますが、4 年前に質問されたので、行き詰まっていました。

現在、DCEVMはよりスマートになり、Hotswapper、AnonymousClassPatch、WatchResources、Hibernate、Spring、Jersey2、Jetty、Tomcat、ZK、Logback、JSF、Seam、ELResolver、OsgiEquinox などのさまざまなプラグインをサポートでき、独自のプラグインを作成することもできます。より簡単に開発できます。

于 2015-07-31T06:33:50.773 に答える