Tomcat のホット デプロイメントを簡単な方法で実装: ワンクリック更新
ワンクリック更新、Tomcat ホット デプロイメントの実装が簡単
要約:
Tomcat は、最も人気のある Java アプリケーション サーバーの 1 つとして、柔軟な構成とデプロイメントを提供します。オプション。ただし、開発プロセス中、コードが変更されるたびに Tomcat を手動で再起動する必要があり、これは非常に面倒な作業です。この記事では、開発効率を大幅に向上させる、ワンクリック更新を使用して Tomcat のホット デプロイメントを実装する自動化ベースの方法を紹介します。
はじめに:
ソフトウェア開発のプロセスでは、コードを頻繁に変更するのが一般的ですが、従来のアプリケーション サーバーはコードを有効にするために手動で再起動する必要があり、開発効率の低下につながります。この問題を解決するために、多くの開発者は自動展開ソリューションを探しています。 Java 開発では、Tomcat は最も一般的に使用されるアプリケーション サーバーの 1 つです。この記事では、ワンクリック更新を使用して Tomcat のホット デプロイメントを実装する方法を紹介し、具体的なコード例を示します。
1. 原則の紹介:
Tomcat は、war ファイルを使用して Web アプリケーションをデプロイします. war パッケージの最終更新時間を監視することで、ホット デプロイメントが必要かどうかを判断できます。 war ファイルの変更時刻が変更されると、コードが更新されたことを意味するため、Tomcat のリロード アクションをトリガーしてホット デプロイメントを実現できます。
2. 具体的な実装:
まず、Tomcat のリロード アクションをトリガーするために、自動的にリロードされるクラスが必要です。以下は簡単な実装例です。
public class HotReload { private static String webappsPath = "/path/to/webapps/"; // Tomcat的webapps目录 public static void reload(String appName) { try { MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); ObjectName serviceName = new ObjectName("Catalina:type=Manager,context=" + appName + ",host=localhost"); mBeanServer.invoke(serviceName, "reload", null, null); } catch (Exception e) { e.printStackTrace(); } } // 监控war包的最后修改时间 public static long getLastModified(String appName) { File warFile = new File(webappsPath + appName + ".war"); return warFile.lastModified(); } public static void main(String[] args) { String appName = "myApp"; long lastModified = getLastModified(appName); while (true) { long currentModified = getLastModified(appName); if (currentModified > lastModified) { reload(appName); lastModified = currentModified; System.out.println("Reloaded " + appName); } try { Thread.sleep(1000); // 每秒检查一次 } catch (InterruptedException e) { e.printStackTrace(); } } } }
上記のコードでは、reload メソッドは Java の MBeanServer を使用して Tomcat のオーバーロードされたメソッドを呼び出します。 getLastModified メソッドは、war パッケージの最終変更時刻を取得するために使用されます。 mainメソッドではwarパッケージが変更されたかどうかをループで監視し、変更されている場合はreloadメソッドを呼び出して再読み込みします。
3. アプリケーションの実践:
- 上記のコードをコンパイルし、生成されたクラス ファイルを Tomcat lib ディレクトリに置きます。
Tomcat の conf ディレクトリに「Catalina」という名前の新しいフォルダーを作成し、そのフォルダー内にアプリケーション名と同じ新しい XML ファイルを作成します。たとえば、「myApp」という名前のアプリの場合、ファイル パスは「conf/Catalina/myApp.xml」です。次のコンテンツを XML ファイルに追加します。
<Context reloadable="true" />
ログイン後にコピーTomcat の bin ディレクトリにある setenv.sh (Linux) または setenv.bat (Windows) ファイルに次のコンテンツを追加します。
export JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties -Dreloadable.app=myApp"
ログイン後にコピーここの「myApp」はアプリケーション名に置き換える必要があります。
- Tomcat を起動して、ホット デプロイメントを自動的に監視し、実装します。
4. 概要:
この記事では、ワンクリック更新を使用して Tomcat のホット デプロイメントを実装する方法を紹介します。 war パッケージの最終変更時刻を定期的に監視し、Tomcat のリロード アクションをトリガーすることで、コードのホット リプレースが実現されます。この自動化された方法により、開発効率が大幅に向上し、Tomcat を手動で再起動するという面倒な作業が軽減されます。この記事が Java 開発者にとって役立つことを願っています。
以上がTomcat のホット デプロイメントを簡単な方法で実装: ワンクリック更新の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JAR プロジェクトを Tomcat にデプロイするには、次の手順に従います。 Tomcat をダウンロードして解凍します。 server.xml ファイルを構成し、ポートとプロジェクトのデプロイメント・パスを設定します。 JAR ファイルを指定されたデプロイメント パスにコピーします。 Tomcatを起動します。指定された URL を使用して、デプロイされたプロジェクトにアクセスします。

Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

Tomcat インストール ディレクトリ: デフォルト パス: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 カスタム パス: インストール中に指定できます。インストール ディレクトリを見つけます。whereis またはlocateコマンドを使用します。

Tomcat を介して複数のプロジェクトをデプロイするには、プロジェクトごとに webapp ディレクトリを作成してから、次の操作を行う必要があります。 自動デプロイ: webapp ディレクトリを Tomcat の webapps ディレクトリに配置します。手動デプロイメント: Tomcat のマネージャー アプリケーションにプロジェクトを手動でデプロイします。プロジェクトがデプロイされると、そのデプロイメント名 (例: http://localhost:8080/project1) でアクセスできるようになります。

Tomcat の同時接続数を確認する方法: Tomcat Manager ページ (http://localhost:8080/manager/html) にアクセスし、ユーザー名とパスワードを入力します。左側のナビゲーション バーで [ステータス] -> [セッション] をクリックすると、ページの上部に同時接続数が表示されます。

Tomcat Web サイトのルート ディレクトリは Tomcat の webapps サブディレクトリにあり、Web アプリケーション ファイル、静的リソース、および WEB-INF ディレクトリを保存するために使用されます。これは、Tomcat 構成ファイルで docBase 属性を検索することで見つかります。

Tomcat のポート番号は、server.xml ファイルの <Connector> 要素の port 属性を確認することで確認できます。 Tomcat 管理インターフェイス (http://localhost:8080/manager/html) にアクセスし、[ステータス] タブを表示します。コマンドラインから「catalina.sh version」を実行し、「Port:」行を確認します。

Tomcat サーバー上で異なるポート番号を使用してプロジェクトを実行するには、次の手順が必要です。server.xml ファイルを変更し、Connector 要素を追加してポート番号を定義します。 Context 要素を追加して、ポート番号に関連付けられたアプリケーションを定義します。 WAR ファイルを作成し、対応するディレクトリ (webapps または webapps/ROOT) にデプロイします。 Tomcat を再起動して変更を適用します。
