Tomcat 8のconf
フォルダーにある「server.xml」ファイルを編集しました。Host
新しいWebサイトに新しいタグを追加しました。
Tomcatサーバーを再起動する必要がありますか?
Tomcatに新しく編集したものを解析して適用させることはできますserver.xml
か?
<Host>
、ではありません<Context>
。
server.xml
、起動時に一度解析されることです。再起動しないとリロードできません。
Tomcat 8のconf
フォルダーにある「server.xml」ファイルを編集しました。Host
新しいWebサイトに新しいタグを追加しました。
Tomcatサーバーを再起動する必要がありますか?
Tomcatに新しく編集したものを解析して適用させることはできますserver.xml
か?
<Host>
、ではありません<Context>
。
server.xml
、起動時に一度解析されることです。再起動しないとリロードできません。
回答:
まず、Tomcatを再起動せずにファイルを実際に編集することは可能ですが、変更は実行中のプロセスによって無視されるため、質問は完全には正しく行われていません。
本当の問題は、server.xml
Tomcatを再起動せずに変更を適用する方法です。
起動プロセスとTomcatのオンラインドキュメントのクラスローダーページから情報を収集すると、これをより詳細に理解できます。
より具体的には、serverStartup.txtと起動プロセスのUMLダイアグラムで説明されており、関連する部分は次のように要約できます。
Sequence 1. Start from Command Line ... Sequence 2. Process command line argument (start, startd, stop, stopd) Class: org.apache.catalina.startup.Bootstrap (assume command->start) What it does: a) Catalina.setAwait(true); b) Catalina.load() b3) createStartDigester() Configures a digester for the main server.xml elements b4) Load the server.xml and parse it using the digester Parsing the server.xml using the digester is an automatic XML-object mapping tool, that will create the objects defined in server.xml Startup of the actual container has not started yet. b6) Calls initialize on all components, this makes each object register itself with the JMX agent.
これは、サーブレットエンジン(Catalina)のBootstrapクラスローダーの作成後に発生します。
この情報があれば、起動プロセスでserver.xml
ファイルがいつ解析されるかは明らかですが、このファイルに変更を適用するためにTomcatを再起動する必要がある理由の質問には実際には答えません。
答えはということですいくつかのそれの一部は、実行時に動的に変更することができJMXを使用します。これを可能にするには、適切なMBeanを登録する必要があり(上記のb6ステップ)、SET操作を受け入れる必要があります(一部のMBeanにはGETインターフェースしかない)。
あなたの特定のケースでは、準備ができていないため、実行時に新しいホストを作成して登録する方法はありません。これが、Bootstrapクラスローダーがそのオブジェクトをインスタンス化して登録するためにTomcatプロセスを再起動する必要がある理由です。 JMXエージェント。
その後、jconsole
任意のJDKにバンドルされているなどのJMXクライアントからそのホストを変更することができます。
jconsole
JMX対応のTomcatに接続し、ホストMBeanを参照して、使用可能なすべての属性を確認します。
使用可能なすべての操作を確認します(以下の例の1つを以下に示します)。
we’re talking about <Host>, not <Context>.
-1申し訳ありませんが、私がこれを行うことはめったにありませんが、そこに私がしなければならないことは誰かのための貧しい答え