Note that there are some explanatory texts on larger screens.

plurals
  1. POMy Jetty server will dead after a long time, why?
    primarykey
    data
    text
    <p>Recently, I host a website in Amazon EC2, and I use <a href="http://en.wikipedia.org/wiki/Jetty_%28web_server%29" rel="nofollow">Jetty</a> 7.4 as my server.</p> <p>I test it in my machine and EC2, and it works properly.</p> <p>But after a few weeks, it suddenly can't be accessed. Checking the log, it just said "/WEB-INF/view/index.jsp" not found. And then the whole site can't be used any more until restarting the Jetty server.</p> <p>BTW: in my project I used <a href="http://en.wikipedia.org/wiki/Spring_Framework" rel="nofollow">Spring Framework</a>, <a href="http://en.wikipedia.org/wiki/Spring_Framework#Model-view-controller_framework" rel="nofollow">Spring MVC</a>, <a href="http://en.wikipedia.org/wiki/Ehcache" rel="nofollow">Ehcache</a>, <a href="http://en.wikipedia.org/wiki/Apache_Shiro" rel="nofollow">Shiro</a>, <a href="http://en.wikipedia.org/wiki/Hibernate_%28Java%29" rel="nofollow">Hibernate</a>, <a href="http://en.wikipedia.org/wiki/Google_Web_Toolkit" rel="nofollow">Google&nbsp;Web&nbsp;Toolkit</a>, etc.</p> <p>Why?</p> <p>I almost use the default configuration file for Jetty:</p> <p><strong>Jetty configuration file:</strong></p> <p></p> <pre><code>&lt;!-- =========================================================== --&gt; &lt;!-- Server Thread Pool --&gt; &lt;!-- =========================================================== --&gt; &lt;Set name="ThreadPool"&gt; &lt;!-- Default queued blocking threadpool --&gt; &lt;New class="org.eclipse.jetty.util.thread.QueuedThreadPool"&gt; &lt;Set name="minThreads"&gt;10&lt;/Set&gt; &lt;Set name="maxThreads"&gt;200&lt;/Set&gt; &lt;Set name="detailedDump"&gt;false&lt;/Set&gt; &lt;/New&gt; &lt;/Set&gt; &lt;!-- =========================================================== --&gt; &lt;!-- Set connectors --&gt; &lt;!-- =========================================================== --&gt; &lt;Call name="addConnector"&gt; &lt;Arg&gt; &lt;New class="org.eclipse.jetty.server.nio.SelectChannelConnector"&gt; &lt;Set name="host"&gt;&lt;Property name="jetty.host" /&gt;&lt;/Set&gt; &lt;Set name="port"&gt;&lt;Property name="jetty.port" default="8080"/&gt;&lt;/Set&gt; &lt;Set name="maxIdleTime"&gt;300000&lt;/Set&gt; &lt;Set name="Acceptors"&gt;2&lt;/Set&gt; &lt;Set name="statsOn"&gt;false&lt;/Set&gt; &lt;Set name="confidentialPort"&gt;8443&lt;/Set&gt; &lt;Set name="lowResourcesConnections"&gt;20000&lt;/Set&gt; &lt;Set name="lowResourcesMaxIdleTime"&gt;5000&lt;/Set&gt; &lt;/New&gt; &lt;/Arg&gt; &lt;/Call&gt; &lt;!-- =========================================================== --&gt; &lt;!-- Set handler Collection Structure --&gt; &lt;!-- =========================================================== --&gt; &lt;Set name="handler"&gt; &lt;New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"&gt; &lt;Set name="handlers"&gt; &lt;Array type="org.eclipse.jetty.server.Handler"&gt; &lt;Item&gt; &lt;New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/&gt; &lt;/Item&gt; &lt;Item&gt; &lt;New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/&gt; &lt;/Item&gt; &lt;/Array&gt; &lt;/Set&gt; &lt;/New&gt; &lt;/Set&gt; &lt;New id="ServerLog" class="java.io.PrintStream"&gt; &lt;Arg&gt; &lt;New class="org.eclipse.jetty.util.RolloverFileOutputStream"&gt; &lt;Arg&gt;&lt;Property name="jetty.logs" default="./logs"/&gt;/yyyy_mm_dd.stderrout.log&lt;/Arg&gt; &lt;Arg type="boolean"&gt;false&lt;/Arg&gt; &lt;Arg type="int"&gt;90&lt;/Arg&gt; &lt;Arg&gt;&lt;Call class="java.util.TimeZone" name="getTimeZone"&gt;&lt;Arg&gt;GMT&lt;/Arg&gt;&lt;/Call&gt;&lt;/Arg&gt; &lt;Get id="ServerLogName" name="datedFilename"/&gt; &lt;/New&gt; &lt;/Arg&gt; &lt;/New&gt; &lt;Call class="org.eclipse.jetty.util.log.Log" name="info"&gt;&lt;Arg&gt;Redirecting stderr/stdout to &lt;Ref id="ServerLogName"/&gt;&lt;/Arg&gt;&lt;/Call&gt; &lt;Call class="java.lang.System" name="setErr"&gt;&lt;Arg&gt;&lt;Ref id="ServerLog"/&gt;&lt;/Arg&gt;&lt;/Call&gt; &lt;Call class="java.lang.System" name="setOut"&gt;&lt;Arg&gt;&lt;Ref id="ServerLog"/&gt;&lt;/Arg&gt;&lt;/Call&gt; &lt;!-- =========================================================== --&gt; &lt;!-- extra options --&gt; &lt;!-- =========================================================== --&gt; &lt;Set name="stopAtShutdown"&gt;true&lt;/Set&gt; &lt;Set name="sendServerVersion"&gt;true&lt;/Set&gt; &lt;Set name="sendDateHeader"&gt;true&lt;/Set&gt; &lt;Set name="gracefulShutdown"&gt;1000&lt;/Set&gt; &lt;Set name="dumpAfterStart"&gt;false&lt;/Set&gt; &lt;Set name="dumpBeforeStop"&gt;false&lt;/Set&gt; </code></pre> <p></p> <h2><strong>Error details:</strong></h2> <pre><code>org.apache.jasper.JasperException: PWC6117: File "/WEB-INF/view/index.jsp" not found at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:89) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:375) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:169) at org.apache.jasper.compiler.JspUtil.getInputStream(JspUtil.java:910) at org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:143) at org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:376) at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:210) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:140) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:435) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:284) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:480) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) at org.eclipse.jetty.server.Server.handle(Server.java:346) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529) at java.lang.Thread.run(Thread.java:636) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload