Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java weblogic可以';我不能处理任何请求_Java_Oracle_Jakarta Ee_Weblogic - Fatal编程技术网

Java weblogic可以';我不能处理任何请求

Java weblogic可以';我不能处理任何请求,java,oracle,jakarta-ee,weblogic,Java,Oracle,Jakarta Ee,Weblogic,最近,我们的weblogic在启动几个小时后经常挂起,当它挂起时,它无法处理任何请求 我们看到线程转储,大多数线程都在这样做: "[ACTIVE] ExecuteThread: '195' for queue: 'weblogic.kernel.Default (self-tuning)'" - Thread t@5932 java.lang.Thread.State: RUNNABLE at java.util.Hashtable.get(Hashtable.java:

最近,我们的weblogic在启动几个小时后经常挂起,当它挂起时,它无法处理任何请求 我们看到线程转储,大多数线程都在这样做:

 "[ACTIVE] ExecuteThread: '195' for queue: 'weblogic.kernel.Default (self-tuning)'" - Thread t@5932
   java.lang.Thread.State: RUNNABLE
        at java.util.Hashtable.get(Hashtable.java:335)
        at java.util.Properties.getProperty(Properties.java:774)
        at java.lang.System.getProperty(System.java:630)
        at oracle.net.nl.NVPair.<init>(Unknown Source)
        at oracle.net.nl.NVFactory._readNVPair(Unknown Source)
        at oracle.net.nl.NVFactory._readNVList(Unknown Source)
        at oracle.net.nl.NVFactory._readNVList(Unknown Source)
        at oracle.net.nl.NVFactory._readNVList(Unknown Source)
        at oracle.net.nl.NVFactory._readNVPair(Unknown Source)
        at oracle.net.nl.NVFactory.createNVPair(Unknown Source)
        at oracle.net.nt.TcpNTAdapter.<init>(Unknown Source)
        at oracle.net.nt.ConnOption.getNT(Unknown Source)
        at oracle.net.nt.ConnOption.connect(Unknown Source)
        at oracle.net.nt.ConnStrategy.execute(Unknown Source)
        at oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
        at oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
        at oracle.net.ns.NSProtocol.connect(Unknown Source)
        at oracle.jdbc.ttc7.TTC7Protocol.connect(TTC7Protocol.java:1774)
        at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:215)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:362)
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:536)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:328)
        at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:300)
        at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:204)
        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1057)
        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:982)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:371)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:294)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:284)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:466)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:357)
        at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:83)
        at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:96)
        at weblogic.jdbc.pool.Driver.connect(Driver.java:150)
        at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:647)
        at weblogic.jdbc.jts.Driver.connect(Driver.java:137)
        at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
        at com.xx.core.database.Database.connect(Database.java:187)
        at com.xx.core.database.Database.connect(Database.java:148)
        at com.xx.core.database.Database.newInstance(Database.java:816)
        at com.xx.DatabaseProvider.getDatabase(DatabaseProvider.java:10)
        at com.xx.Tools.getDatabase(Tools.java:91)
        at com.xx.PopInfo.doGet(PopInfo.java:179)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.anychart.servlet.ResourceFilter.doFilter(ResourceFilter.java:53)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3212)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
“[ACTIVE]ExecuteThread:'195'用于队列:'weblogic.kernel.Default(自调优)'”—线程t@5932
java.lang.Thread.State:可运行
位于java.util.Hashtable.get(Hashtable.java:335)
位于java.util.Properties.getProperty(Properties.java:774)
位于java.lang.System.getProperty(System.java:630)
位于oracle.net.nl.NVPair。(来源未知)
在oracle.net.nl.NVFactory上。\u readNVPair(未知源)
在oracle.net.nl.NVFactory上。\u readNVList(未知源)
在oracle.net.nl.NVFactory上。\u readNVList(未知源)
在oracle.net.nl.NVFactory上。\u readNVList(未知源)
在oracle.net.nl.NVFactory上。\u readNVPair(未知源)
位于oracle.net.nl.NVFactory.createNVPair(未知源)
位于oracle.net.nt.TcpNTAdapter。(来源未知)
位于oracle.net.nt.connpoption.getNT(未知源)
位于oracle.net.nt.ConnOption.connect(未知源)
在oracle.net.nt.ConnStrategy.execute(未知源)
位于oracle.net.resolver.AddrResolution.resolveAndExecute(未知源)
在oracle.net.ns.NSProtocol.establishConnection上(未知源)
位于oracle.net.ns.NSProtocol.connect(未知源)
位于oracle.jdbc.ttc7.TTC7Protocol.connect(TTC7Protocol.java:1774)
位于oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:215)
位于oracle.jdbc.driver.OracleConnection(OracleConnection.java:362)
位于oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:536)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:328)
位于weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:300)
位于weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:204)
在weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1057)
在weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:982)
在weblogic.common.resourcepool.ResourcePoolImpl.ReserverResourceInternal(ResourcePoolImpl.java:371)
在weblogic.common.resourcepool.ResourcePoolImpl.ReserverSource(ResourcePoolImpl.java:294)
在weblogic.common.resourcepool.ResourcePoolImpl.ReserverSource(ResourcePoolImpl.java:284)
位于weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:466)
位于weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:357)
位于weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:83)
位于weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:96)
位于weblogic.jdbc.pool.Driver.connect(Driver.java:150)
位于weblogic.jdbc.jts.Driver.getNonExconnection(Driver.java:647)
位于weblogic.jdbc.jts.Driver.connect(Driver.java:137)
位于weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
位于com.xx.core.database.database.connect(database.java:187)
位于com.xx.core.database.database.connect(database.java:148)
位于com.xx.core.database.database.newInstance(database.java:816)
位于com.xx.DatabaseProvider.getDatabase(DatabaseProvider.java:10)
位于com.xx.Tools.getDatabase(Tools.java:91)
在com.xx.PopInfo.doGet(PopInfo.java:179)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
位于weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
位于weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
位于weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
位于weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
位于weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
位于com.anychart.servlet.ResourceFilter.doFilter(ResourceFilter.java:53)
位于weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
在weblogic.servlet.internal.WebAppServletContext$servleinvocationAction.run(WebAppServletContext.java:3212)
位于weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
位于weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
位于weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)
位于weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
位于weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
在weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
在weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
通过这个stacktrace,似乎所有这些线程都在等待获得数据库连接,但是当我们看到oracle时,我们看到了很多非活动的jdbc连接。

为什么有这么多线程在等待连接,但同时数据库有这么多不活动的jdbc连接,我们如何解决这个问题,请帮助我们,谢谢。

从堆栈跟踪中可以看出,在访问系统属性时,由于死锁,这些线程处于死锁状态。您可以更改jdbc驱动程序并重试吗。我不确定从哪个jar文件中使用了类oracle.net.nl.NVPair。当我从两个JAR中检查oracle.net.nl.NVPair的源代码时,我看到的唯一对系统属性的引用是
private String\u linesep=system.getProperty(“line.separator”)。这与您在oracle.net.nl.NVPair上的堆栈跟踪相匹配(未知源代码)

当然只是猜测(基本上没有信息)