私はホットコードの展開にEclipseサーバー機能を使用しています。 WebサーバーとしてのTomcatの使用。しかし、私はそれがどのように動作するのか分かりません。私は自分自身が理解するために、どのようにして が内部的に働く必要があります。ホット展開は内部的にどのように機能しますか?
私の理解: -開発者がコードを変更したときに(Eclipseというクラス)、Eclipseは修正されたコンパイルされたクラスを適切な場所に配置/公開します(特定のweb/appサーバーでなければなりません。 (HDD))。これでWebサーバー固有のクラスローダーが画像に入ります。 HDDの下に新しいエントリがあります。さて、それはクラスがすでにパーマ世代空間のクラスローダによってロードされている場合、ウェブサーバはpermgen空間から、それをアンロードし、新しい変化(バイトコード)が反映されるように、サーバの再起動なしで1内部で新しいをロード見つけました。リロードの一環として、webserverは、新しい変更が反映されるように、既存のEpmloyeeオブジェクトをperm gen spaceの 新しいクラス定義とリンクします。
は、私の理解は正しいですか?
thisのようなリンクでは、Eclipseのホットデプロイメントは再デプロイメントの自動化です。私が信じているのは、Eclipseが自動的にサーバーを停止し、再発行し、開発者の介入なしに再起動するということです。 Buti私はこのプロセスがスタート/パブリッシュ/リスタートに比べて本当に速いので、それは真実ではないと思います。 また、それが本当だったなら、セッションや他のライブオブジェクトが再起動後にどう生き続けるか?は、このリンクになっていることがあり、私は熱い展開が瓶の中のクラスのために働く見つけるとしても、今
過去に本当だったではなく
[ホットデプロイメントを「難しい問題」にする原因]?(http://stackoverflow.com/questions/660437/what-makes-hot-deployment-a-hard-problem) –
@ivanその重複する。あなたが言及したリンクは、ホットデプロイメントの内部についてではなく、彼が挑戦することに関するものです。 – emilly
それに受け入れられる答えは、内部的に何が起こっているのかを説明します。たぶん詳細はもっと必要ですが、それは別の問題です。 –