簡體   English   中英

如何在開始時啟動Tomcat shutdown監聽器

[英]how to start Tomcat shutdown listener at the beginning

如果我在啟動后立即停止Tomcat服務器,則會顯示以下錯誤:

Aug 08, 2016 11:54:26 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8080. Tomcat may not be running.
Aug 08, 2016 11:54:26 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at java.net.Socket.<init>(Socket.java:434)
        at java.net.Socket.<init>(Socket.java:211)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:450)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:400)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:487)

The stop command failed. Attempting to signal the process to stop through OS signal.
Tomcat stopped.

通常,當啟動tomcat時,最后一條消息類似於“ XXX ms中的服務器啟動”。 關閉偵聽器在啟動Tomcat結束時啟動。

tomcat啟動時,如何在開始時啟動“ Shutdown Listener”。

您不想這樣做(*)。 為了明確要求Tomcat停止,停止腳本嘗試向它發送一個特殊請求。 Tomcat開發人員發現,如果Tomcat由於任何原因而無法回答請求,則可能存在問題:沒有活動,部分或全部崩潰等。要解決此問題,他們只是記錄說Tomcat不在正常狀態,然后繼續操作。 OS信號強制停止它。 順便說一句,腳本可以正常打印Tomcat stopped ,如果能夠Tomcat stopped ,則在實際結束時將其停止。

即使您可以構建特殊版本的Tomcat來嘗試盡快處理請求,但仍然會有片刻的競爭條件,而不是說可能的崩潰。

如果您只是不希望顯示錯誤消息,只需用一個薄包裝器包裝實際腳本,該包裝器將輸出和錯誤輸出,並在發生實際問題的情況下可選地記錄所有內容以供進一步研究,並僅搜索字符串Tomcat stopped 如果找到該腳本,則放掉其他所有內容,然后僅顯示該腳本,如果在腳本結束后仍未找到該腳本,則表明該錯誤,並提供完整的輸出以供參考。

(*)無論如何,我無法想象有一個可靠的系統...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM