我有一个Grails2.4.3应用程序,在我的公司内部使用。问题是,当我运行它(grails dev run-app)一段时间后,它会在没有事先通知的情况下终止侦听:
INFO [Thread-3]: Pausing ProtocolHandler ["http-bio-8080"]
INFO [Thread-3]: Stopping service Tomcat
### Shutting down.
INFO [Thread-3]: Stopping ProtocolHandler ["http-bio-8080"]
INFO [Thread-3]: Destroying ProtocolHandler ["http-bio-8080"] (第3行来自我的BootStrap.groovy中的the ()方法)
对于数据源连接,有用于池连接的保活策略。我也想让grails应用程序保持在线。
如何调查导致服务器停止侦听的原因?这是一个常见的问题,可以通过配置来解决吗?
编辑:
根记录器在调试级别上显示了以下内容:
DEBUG [http-bio-8080-exec-4]: Counting down[http-bio-8080-exec-4] latch=2
DEBUG [http-bio-8080-exec-1]: Error parsing HTTP request header
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
...
DEBUG [http-bio-8080-exec-1]: Socket: [org.apache.tomcat.util.net.SocketWrapper@5c0b659a:Socket[addr=/0:0:0:0:0:0:0:1,port=58705,localport=8080]], Status in: [OPEN_READ], State out: [CLOSED]
DEBUG [http-bio-8080-exec-1]: Counting down[http-bio-8080-exec-1] latch=1
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: Start expire sessions StandardManager at 1421320212649 sessioncount 0
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: End expire sessions StandardManager processingTime 0 expired sessions: 0
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: Start expire sessions StandardManager at 1421320272661 sessioncount 0
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: End expire sessions StandardManager processingTime 0 expired sessions: 0
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: Start expire sessions StandardManager at 1421320332673 sessioncount 0
DEBUG [ContainerBackgroundProcessor[StandardEngine[Tomcat]]]: End expire sessions StandardManager processingTime 0 expired sessions: 0
DEBUG [http-bio-8080-Acceptor-0]: Counting up[http-bio-8080-Acceptor-0] latch=1
DEBUG [http-bio-8080-exec-6]: Error parsing HTTP request header
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:519)
...
DEBUG [http-bio-8080-exec-6]: Socket: [org.apache.tomcat.util.net.SocketWrapper@674b5757:Socket[addr=/10.41.2.116,port=46215,localport=8080]], Status in: [OPEN_READ], State out: [CLOSED]
DEBUG [http-bio-8080-exec-6]: Counting down[http-bio-8080-exec-6] latch=1
DEBUG [Thread-3]: Setting state for [StandardServer[-1]] to [STOPPING_PREP]
DEBUG [Thread-3]: Setting state for [StandardServer[-1]] to [STOPPING]
DEBUG [Thread-3]: Setting state for [StandardService[Tomcat]] to [STOPPING_PREP]
INFO [Thread-3]: Pausing ProtocolHandler ["http-bio-8080"]
DEBUG [Thread-3]: About to unlock socket for:localhost/127.0.0.1:8080
DEBUG [Thread-3]: Socket unlock completed for:localhost/127.0.0.1:8080
DEBUG [http-bio-8080-Acceptor-0]: Counting down[http-bio-8080-Acceptor-0] latch=0
INFO [Thread-3]: Stopping service Tomcat
DEBUG [Thread-3]: Setting state for [StandardService[Tomcat]] to [STOPPING]
DEBUG [Thread-3]: Setting state for [StandardEngine[Tomcat]] to [STOPPING_PREP]
DEBUG [Thread-3]: Setting state for [StandardEngine[Tomcat]] to [STOPPING]
DEBUG [Thread-3]: Setting state for [Pipeline[StandardEngine[Tomcat]]] to [STOPPING_PREP]
DEBUG [Thread-3]: Setting state for [Pipeline[StandardEngine[Tomcat]]] to [STOPPING]
DEBUG [Thread-3]: Setting state for [org.apache.catalina.core.StandardEngineValve[Tomcat]] to [STOPPING_PREP]
DEBUG [Thread-3]: Setting state for [org.apache.catalina.core.StandardEngineValve[Tomcat]] to [STOPPING]
DEBUG [Thread-3]: Setting state for [org.apache.catalina.core.StandardEngineValve[Tomcat]] to [STOPPED]
DEBUG [Thread-3]: Setting state for [Pipeline[StandardEngine[Tomcat]]] to [STOPPED]
DEBUG [Tomcat-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost]] to [STOPPING_PREP]
DEBUG [Tomcat-startStop-2]: Unregister host [localhost] at domain [null] for connector [Connector[HTTP/1.1-8080]]
DEBUG [Tomcat-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost]] to [STOPPING]
DEBUG [Tomcat-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [STOPPING_PREP]
DEBUG [Tomcat-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [STOPPING]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.valves.ErrorReportValve[localhost]] to [STOPPING_PREP]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.valves.ErrorReportValve[localhost]] to [STOPPING]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.valves.ErrorReportValve[localhost]] to [STOPPED]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.core.StandardHostValve[localhost]] to [STOPPING_PREP]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.core.StandardHostValve[localhost]] to [STOPPING]
DEBUG [Tomcat-startStop-2]: Setting state for [org.apache.catalina.core.StandardHostValve[localhost]] to [STOPPED]
DEBUG [Tomcat-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [STOPPED]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent]] to [STOPPING_PREP]
DEBUG [localhost-startStop-2]: Unregister Context [/workspent] for connector [Connector[HTTP/1.1-8080]]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent]] to [STOPPING]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]] to [STOPPING_PREP]
DEBUG [localhost-startStop-2]: Unregister Wrapper [grails-errorhandler] in Context [/workspent] for connector [Connector[HTTP/1.1-8080]]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]] to [STOPPING]
DEBUG [localhost-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]]] to [STOPPING_PREP]
DEBUG [localhost-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]]] to [STOPPING]
DEBUG [localhost-startStop-2]: Setting state for [org.apache.catalina.core.StandardWrapperValve[grails-errorhandler]] to [STOPPING_PREP]
DEBUG [localhost-startStop-2]: Setting state for [org.apache.catalina.core.StandardWrapperValve[grails-errorhandler]] to [STOPPING]
DEBUG [localhost-startStop-2]: Setting state for [org.apache.catalina.core.StandardWrapperValve[grails-errorhandler]] to [STOPPED]
DEBUG [localhost-startStop-2]: Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]]] to [STOPPED]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails-errorhandler]] to [STOPPED]
DEBUG [localhost-startStop-2]: Setting state for [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/workspent].StandardWrapper[grails]] to [STOPPING_PREP]
DEBUG [localhost-startStop-2]: Unregister Wrapper [grails] in Context [/workspent] for connector [Connector[HTTP/1.1-8080]]
INFO [localhost-startStop-2]: ### Shutting down. Current time is 2015-01-15T12:12:39.009+01:00
INFO [localhost-startStop-2]: Destroying Spring FrameworkServlet 'grails'发布于 2014-12-16 10:17:59
看看您的stacktrace.log文件,可能会出现一些错误。
正如文档所说:
当出现异常时,来自Java和Groovy内部的堆栈跟踪中可能会有大量的噪声。Grails过滤这些通常不相关的细节,并将跟踪限制为非核心Grails/Groovy类包。 当发生这种情况时,始终将完整的跟踪记录到StackTrace记录器,默认情况下,该记录器将其输出写入名为stacktrace.log的文件。
如果您不知道您的文件在哪里,可以通过log4j:http://grails.org/doc/latest/guide/conf.html配置它
在你的Config.groovy里
error stdout: "StackTrace"
log4j = {
appenders {
rollingFile name: "stacktrace", maxFileSize: 1024,
file: "/var/tmp/logs/myApp-stacktrace.log"
}
}https://stackoverflow.com/questions/27501987
复制相似问题