Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Spring 正在为您关闭连接。请自己关上_Spring_Hibernate_Datasource - Fatal编程技术网

Spring 正在为您关闭连接。请自己关上

Spring 正在为您关闭连接。请自己关上,spring,hibernate,datasource,Spring,Hibernate,Datasource,在一个循环中,我从数据库获取数据源,并基于数据源打开会话,执行数据库查询并关闭会话。但是在循环运行8次之后,我得到了“一些连接没有关闭”错误 for (Object[] result : iteratorList) { dataSource = cUtilService.getDs(((BigInteger) result[7]).longValue()); List<Object[]> ratingsList=searchDoctorsDao.getRating(id,

在一个循环中,我从数据库获取数据源,并基于数据源打开会话,执行数据库查询并关闭会话。但是在循环运行8次之后,我得到了
“一些连接没有关闭”
错误

for (Object[] result : iteratorList) {
   dataSource = cUtilService.getDs(((BigInteger) result[7]).longValue());
   List<Object[]> ratingsList=searchDoctorsDao.getRating(id,dataSource);
}


public List getRating(Long docId, String dataSource) {
    logger.info("inside getRating() of  SearchDoctorsDaoImpl...");
    SessionFactory dynamicSessionFactory = null;
    Session session = null;
    try {
        dynamicSessionFactory = consultationUtilDao
                .getDynamicSessionFactory(dataSource);
        session = dynamicSessionFactory.openSession();
        Query qry = session.createSQLQuery(getRating);
        qry.setParameter("docId", docId);
        return qry.list();

    } catch (Exception e) {
        logger.info("Exception in getRating() of  SearchDoctorsDaoImpl..."
                + e);
        throw e;
    } finally {

        ConsultationUtil.closeResource(dynamicSessionFactory, session);
    }

}
我怎样才能解决这个问题


提前感谢。

如果您发布堆栈跟踪并显示管理会话和查询的代码,您可能会得到一些帮助。我已经添加了日志。
2017-05-31 11:23:06,160 ERROR [io.undertow.request] (default task-3) UT005071: Undertow request failed HttpServerExchange{ GET /consultation/api/v1/getDoctorsSummary/169/test/ request {Connection=[keep-alive], Postman-Token=[aa3a76dc-2649-e21e-7f50-45ff6bb08ffd], Accept=[*/*], Accept-Language=[en-US,en;q=0.8], Cache-Control=[no-cache], Accept-Encoding=[gzip, deflate, sdch], User-Agent=[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36], Host=[172.16.2.67:8080]} response {X-Powered-By=[Undertow/1], Access-Control-Allow-Headers=[X-ACCESS_TOKEN, Access-Control-Allow-Origin, Authorization, Origin, x-requested-with, Content-Type, Content-Range,tata_auth_token, Content-Disposition, Content-Description], Server=[WildFly/10], Date=[Wed, 31 May 2017 05:53:06 GMT], Connection=[keep-alive], Access-Control-Allow-Origin=[*], Transfer-Encoding=[chunked], Content-Type=[application/json;charset=UTF-8], Access-Control-Allow-Methods=[POST, GET, PUT, OPTIONS, DELETE]}}: java.lang.RuntimeException: javax.resource.ResourceException: IJ000151: Some connections were not closed, see the log for the allocation stacktraces
    at org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:110)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$1.tearDown(UndertowDeploymentInfoService.java:1658)
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:47)
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: javax.resource.ResourceException: IJ000151: Some connections were not closed, see the log for the allocation stacktraces
    at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:289)
    at org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)
    ... 11 more



2017-05-31 11:23:06,057 TRACE [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (default task-3) Returning connection to pool org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@1c498528[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@7a00907f connection handles=0 lastReturned=1496209986057 lastValidated=1496208526636 lastCheckedOut=1496209861545 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@4a7fb4d8 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@6ce9be03[pool=CONSUMERDBDS] xaResource=LocalXAResourceImpl@567276b6[connectionListener=1c498528 connectionManager=3b5d1c1d warned=false currentXid=null productName=PostgreSQL productVersion=9.4.8 jndiName=java:jboss/datasources/CONSUMERDBDS] txSync=null]
2017-05-31 11:23:06,149 TRACE [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (default task-3) popped object: org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@5876cb9a
2017-05-31 11:23:06,149 TRACE [org.jboss.jca.core.tracer.Tracer] (default task-3) IJTRACER-CachedConnectionManager-NONE-422-91-1120708763729718-NONE-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@5876cb9a-java.lang.Throwable:_CALLSTACK/|\at_org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:283)/|\at_org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)/|\at_org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$1.tearDown(UndertowDeploymentInfoService.java:1658)/|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:47)/|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)/|\at_io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)/|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)/|\at_io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)/|\at_io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)/|\at_io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)/|\at_java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)/|\at_java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)/|\at_java.lang.Thread.run(Thread.java:745)/|
2017-05-31 11:23:06,149 TRACE [org.jboss.jca.core.tracer.Tracer] (default task-3) IJTRACER-GlobalDS-50db695d-422-96-1120708763877345-449bb05b-45ded980-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@5876cb9a
2017-05-31 11:23:06,153 INFO  [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (default task-3) IJ000100: Closing a connection for you. Please close them yourself: org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7@45ded980: java.lang.Throwable: STACKTRACE
    at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
    at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
    at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
    at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)
    at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:276)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169)
    at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.extractPhysicalConnection(ConnectionProxyHandler.java:82)
    at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.continueInvocation(ConnectionProxyHandler.java:138)
    at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
    at com.sun.proxy.$Proxy517.prepareStatement(Unknown Source)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:147)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:166)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:145)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1739)
    at org.hibernate.loader.Loader.doQuery(Loader.java:828)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)
    at org.hibernate.loader.Loader.doList(Loader.java:2463)
    at org.hibernate.loader.Loader.doList(Loader.java:2449)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)
    at org.hibernate.loader.Loader.list(Loader.java:2274)
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331)
    at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1585)
    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:224)
    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156)
    at com.thp.clinic.consultation.dao.SearchDoctorsDaoImpl.getDoctorsSummary(SearchDoctorsDaoImpl.java:551)
    at com.thp.clinic.consultation.service.SearchDoctorsServiceImpl.getDoctorsSummary(SearchDoctorsServiceImpl.java:1031)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)