[2020-11-30 09:09:52 601] [WARNING] [testdb jdbc-scheduler] [data-source] [java.lang.Exception: A potential connection leak detected for connection pool testdb
at com.tongweb.hulk.HulkDataSource.getConnection(HulkDataSource.java:66)
at com.tongweb.tongejb.resource.jdbc.DecoratorDS.getConnection(DecoratorDS.java:26)
at com.tongweb.tongejb.resource.jdbc.managed.local.ManagedConnection.newConnection(ManagedConnection.java:208)
at com.tongweb.tw.thanos.ThanosManagedConnection.invoke(ThanosManagedConnection.java:70)
at com.sun.proxy.$Proxy153.createStatement(Unknown Source)
at Test.doGet(Test.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at com.tongweb.web.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at com.tongweb.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at com.tongweb.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at com.tongweb.catalina.core.ThanosStandardContextValve.invoke(ThanosStandardContextValve.java:108)
at com.tongweb.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
at com.tongweb.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:450)
at com.tongweb.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at com.tongweb.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
at com.tongweb.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at com.tongweb.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at com.tongweb.catalina.core.ThanosStandardEngineValve.invoke(ThanosStandardEngineValve.java:43)
at com.tongweb.catalina.realm.RealmValve.invoke(RealmValve.java:21)
at com.tongweb.catalina.connector.ThanosCoyoteAdaptor.service(ThanosCoyoteAdaptor.java:432)
at com.tongweb.coyote.http11.Http11Processor.service(Http11Processor.java:776)
at com.tongweb.coyote.http11.ThanosHttp11Processor.service(ThanosHttp11Processor.java:19)
at com.tongweb.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at com.tongweb.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:913)
at com.tongweb.web.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1610)
at com.tongweb.web.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at com.tongweb.web.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:842)
at com.tongweb.web.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:640)
at com.tongweb.web.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:618)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker$2.run(Invoker.java:218)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at com.tongweb.web.util.threads.TWThreadPoolExecutor.runWorker(TWThreadPoolExecutor.java:1172)
at com.tongweb.web.util.threads.TWThreadPoolExecutor$Worker.run(TWThreadPoolExecutor.java:628)
at com.tongweb.web.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
这是TongWeb数据源开启了泄露日志,达到数据源连接占用时间后会将该线程堆栈打出,以便分析出应用哪里占用数据源连接不释放。从上面日志可以看到 Test.java:53行获取的连接。