Java 应用程序有时速度非常慢,只有在服务器重新启动时才能恢复正常状态

Java 应用程序有时速度非常慢,只有在服务器重新启动时才能恢复正常状态,java,windows,oracle11g,weblogic12c,Java,Windows,Oracle11g,Weblogic12c,我在Weblogic实例中部署的应用程序有时非常慢。我正在使用ADF 12c进行应用程序开发 Weblogic版本:Windows Server 2012 R2中的12.2.1 JDK版本:1.8-65 数据库:Oracle 11g 一旦我重新启动weblogic服务器,它就会恢复到正常状态。 我不知道如何解决这个问题,也不知道这个问题的根本原因。 到目前为止,我设法收集了以下细节。 •此时,托管服务器日志文件显示与卡住的线程相关的以下错误: <Error> <WebLogic

我在Weblogic实例中部署的应用程序有时非常慢。我正在使用ADF 12c进行应用程序开发

Weblogic版本:Windows Server 2012 R2中的12.2.1 JDK版本:1.8-65 数据库:Oracle 11g

一旦我重新启动weblogic服务器,它就会恢复到正常状态。 我不知道如何解决这个问题,也不知道这个问题的根本原因。 到目前为止,我设法收集了以下细节。 •此时,托管服务器日志文件显示与卡住的线程相关的以下错误:

<Error> <WebLogicServer> <ManagedServer_1> <[STANDBY] ExecuteThread: '124' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <2c76372a-dbe4-4308-a06c-b9944a2d5d3a-0001b9dc> <1472636531716> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-000337> <[STUCK] ExecuteThread: '117' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "630" seconds working on the request "Http Request Information: weblogic.servlet.internal.ServletRequestImpl@714bd487[GET /abcV3/adwwls/wls.ads], which is more than the configured time (StuckThreadMaxTime) of "600" seconds in "server-failure-trigger". Stack trace:
oracle.adfinternal.view.faces.activedata.AdsProcessor.doProcess(AdsProcessor.java:184)
oracle.adfinternal.view.faces.activedata.AdsServlet.doGet(AdsServlet.java:112)
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:166)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.utils.FastSwapFilter.doFilter(FastSwapFilter.java:64)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:141)
java.security.AccessController.doPrivileged(Native Method)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:649)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:224)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3654)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3620)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2423)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2280)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2258)
weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1626)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1586)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
>

您是否存在内存泄漏或其他资源问题?@ScaryWombat问题不是“您是否存在内存泄漏或其他资源问题”。问题是内存泄漏在哪里?@mttdbrd很抱歉,我无法从上面的内容判断这是内存泄漏还是其他类型的资源泄漏。请随时回答这个问题,或者为下一个问题提问您自己的问题OP@scarywombat对不起,我只是想搞笑。这是一个明显的内存泄漏。我猜可能会有很多DB连接处于打开状态,或者不会将它们返回池。@akr您需要生成一个最小可行的示例来演示问题。您是否存在内存泄漏或其他资源问题?@ScaryWombat问题不是“您是否存在内存泄漏或其他资源问题。”内存泄漏在哪里?@mttdbrd很抱歉,我无法从上面判断它是内存泄漏还是其他类型的资源泄漏。请随时回答这个问题,或者为下一个问题提问您自己的问题OP@scarywombat对不起,我只是想搞笑。这是一个明显的内存泄漏。我猜是对许多DB连接保持开放状态,还是不将它们返回池。@akr您需要生成一个最小可行的示例来演示问题。