1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。この場合、通常、メモリ全体がクリアされ、再ロードされます。簡単に言えば、Tomcat または他の Web サーバーがプロジェクトの再ロードに役立ちます。この方法では、セッションが失われるなどの状況が発生する可能性があります。 2. ホットローディング: コンテナの実行中にコンパイルされたクラスを再ロードして変更することを意味します。この場合、メモリはクリアされず、セッションは失われませんが、メモリオーバーフローが発生したり、メソッドが見つからないという問題が起こりやすくなります。メモリはオブジェクトに変換できないためです。一般的に、クラスの構造やモデルを変更すると例外が発生しますが、既存の変数やメソッドを変更しても問題は発生しません。 Eclipse 構成ホット スタート: Java ベースのホットデプロイメントとホットロードのプロセスでは、クラスローダーが重要な役割を果たします。クラス ローダーは、すでにロードされているクラスを再ロードすることはできません。そうしないと、java.lang.LinkageError が報告されますが、新しいクラス ローダー インスタンスが使用されている限り、実行中のアプリケーションにクラスを再度ロードできます。通常、デバッグ モードはホット ローディングをサポートします。 しかし、ここで、Eclipse がデバッグで起動されたがホット ローディングが行われず、クラス ファイルへの変更ごとに再コンパイルが必要になったため、開発に非常に時間がかかるという状況に遭遇しました。ここでは、ホット ローディングに Eclipse を使用する方法について簡単に紹介します。 Eclipseを起動し、次のディレクトリを見つけます。 server.xmlを開いて 次のようにコードをコピーします。 <コンテキスト docBase="dreamlive" パス="/ROOT" リロード可能="true" クロスコンテキスト="true" ソース="org.eclipse.jst.jee.server:dreamlive"/> このコード行では、新しいプロジェクトをデプロイすると、docBase とソースがそれに応じて変更されます。現在はまだホット デプロイ状態であるため、クラス ファイルが変更されるたびに自動的にコンパイルされますが、これには時間がかかります。次に、構成を変更してみましょう。 次のようにコードをコピーします。 <コンテキスト docBase="dreamlive" path="/ROOT" reloadable="false" crossContext="true" source="org.eclipse.jst.jee.server:dreamlive"/></ホスト> ホット スタートを有効にするには、reloadable を false に変更し、crossContext="true" を追加します。注: デバッグから開始する必要があります。 ただし、新しいプロジェクトをデプロイするたびにこの設定を変更する必要があります。新しいプロジェクトがデプロイされるたびに、server.xml ファイルの動的な変更を観察できます。設定が完了した後、プロジェクトのホットロードが有効にならない場合は、eclipse --> プロジェクト --> 自動的にビルドをチェックして、自動コンパイルを追加します。 各属性の意味は下記に添付されています
Tomcat 構成ホットスタート 具体的な方法は以下の通りです。 手順 1: Tomcat インストール ディレクトリで、conf/server.xml のホスト構成を変更し、その reloadable 属性を true に設定します。つまり、Host タグに reloadable="true" を追加し、Tomcat を再起動して構成ファイルを有効にします。 ステップ2: confフォルダのweb.xmlファイルに追加する <初期化パラメータ> <param-name>開発</param-name> <param-value>true</param-value> </init-param> ステップ 3: 変更を有効にするには、Tomcat サーバーを再起動します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLのネストされたトランザクションで発生する問題
>>: MySQL 5.7 以降のバージョンのダウンロードとインストールのグラフィック チュートリアル
目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...
コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...
以前、Ubuntu 16.04 に MySQL をスムーズにインストールしました。今回、Ubuntu...
Linux のデフォルトの ssh リモート ポートは 22 です。デフォルトのポートは、悪意のある...
高性能分散メモリオブジェクトキャッシュシステムMemcachedについては、別の記事「Windows...
Docker 学習https://www.cnblogs.com/poloyy/p/15257059...
目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...
目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...
以下の手順に従ってください1. request.jsコンテンツ: http リクエスト インターセプ...
LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...
docker デーモンは通常の TCP ポートではなくホストの Unix ソケットにバインドする必要...
1. 現在の日付 DATE_SUB(curdate(),INTERVAL 0 DAY) を選択します...
目次ミューテーションオブザーバーAPI特徴インターセクションオブザーバーAPI例えば画像の遅延読み込...
序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...
この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...