Tomcat Server 9 - 一段時間後掛起

Tomcat Server 9 - 一段時間後掛起

我最近將我的應用程式伺服器從 tomcat 6 升級到 tomcat 9。

在應用程式中,我們使用 Spring Security 並配置了幾個用於身份驗證和授權的過濾器。

一旦我們將套件部署到該伺服器上,應用程式就會運行一段時間,可能會運行幾個小時,但效能會隨著時間的推移而下降。當效能顯著下降時,我們在伺服器上的執行緒轉儲中會出現以下內容

在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Filjava:166) 在 org.apacheet.cat.web. .doFilter(WsFilter.java:53) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(AppliFilFilterChain.com:166) 在java.166) 在java. opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catnalDoFilter(ApplicationFilterCha ApplicationFilterChain.java:166) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) 在org.springframework.security.web.10.intercept.FilterSecurityInterceptor.inspringframework.security.web.16.intercept.FilterSecurity160在org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxyPro.java:331) 在。 (SessionManagementFilter.java:84) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在org.springframework.security.Fil.authentication.Filonymoter)在org. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderA.Re. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) 在xy。 java:331) 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProameterChainProxy$VirtualFilterChain.doFilter(FilterChainProameorg:3335) 在製.3331335(FilterChainProame).3335)。 。 。doFilter(LogoutFilter.java:116) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.web.filter.OnceFilRequestFilter.doi( .springframework.security。 。 )在org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157)在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProframe:331)在work.331)在work。 security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) 在org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:185) 於347)在org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)在org.ache.ache. .doFilter(ApplicationFilterChain.java:166) 在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712) 在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.org.org apache.catalina。 java:530) 在org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:624) 在org.apache.jsp.error_jsp._jspService(error_jsp.java:531) 在.org.apache.Hunper. .service(HttpJspBase.java:70) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.r:476) 在java:476) 在java:476) 在java:476) 在java:476) 在java:476). jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)在javax.servlet.http.HttpServlet.service(HttpServlet(HttpServlet)FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) 在 org.springxy第331章.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在orgsec.sp FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)在org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:185)在org.springframework.web.filter.DelegatingFilterProxy .springframework。 .java: 166)在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)在org.java core.ApplicationDispatcher .doForward(ApplicationDispatcher.java:384) 在org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) 在org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:530)在org. apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:624)在org.apache.jsp.error_jsp._jspService(error_jsp.java:531)在org.apache.jasper.aptime. .java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) 在org.apache.jasper.servlet. JspServlet.serviceJspFile(JspServlet.java:385)在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) 在 org.springxy第331章.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) 在org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在orgsec.sp FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)在org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:185)在org.springframework.web.filter.DelegatingFilterProxy .springframework。 .java: 166)在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)在org.java core.ApplicationDispatcher .doForward(ApplicationDispatcher.java:384) 在org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) 在org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:530)在org. apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:624)在org.apache.jsp.error_jsp._jspService(error_jsp.java:531)在org.apache.jasper.aptime. .java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) 在org.apache.jasper.servlet. JspServlet.serviceJspFile(JspServlet.java:385)在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springdweb.sec 。 .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.Fil ) )在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)在org.apache.catinacher.org. 。 apache .jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:624) 在org.apache.jsp.error_jsp._jspService(error_jsp.java:531) 在org.apache.jasper.runBase.HttJspJsp. 70) )在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)在org.apache.jasper.servlet.ServletWrapper.java:476)在org.apache.jasper.servlet. serviceJspFile(JspServlet.java:385)在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springdweb.sec 。 .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.Fil ) )在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)在org.apache.catinacher.org. 。 apache .jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:624) 在org.apache.jsp.error_jsp._jspService(error_jsp.java:531) 在org.apache.jasper.runBase.HttJspJsp. 70) )在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)在org.apache.jasper.servlet.ServletWrapper.java:476)在org.apache.jasper.servlet. serviceJspFile(JspServlet.java:385) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741)core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) 在 org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:530) 在 org.apache.jasper.runtime.PageContextImpl.PageContextP.在org.apache.jsp.error_jsp._jspService(error_jsp.java:531) 在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在javax.servlet.http.HttpServlet.service(HjavaServlet.service(HjavaServlet. :741)在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)在org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)在org.apache.japer.servlet。 JspServlet.service(JspServlet.java:329) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) 在 org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:530) 在 org.apache.jasper.runtime.PageContextImpl.PageContextP.在org.apache.jsp.error_jsp._jspService(error_jsp.java:531) 在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在javax.servlet.http.HttpServlet.service(HjavaServlet.service(HjavaServlet. ) :741)在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)在org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)在org. 。

我們看到這部分程式碼重複了至少 25 次,並且線程顯示為可運行。

您能指導我在哪裡關注問題嗎?

先致謝

相關內容