MySQL5.7 Attempted to use a closed or broken resource pool 处理过程
?
?
1,tomcat啟動報錯不能獲取JDBC連接
mysql版本:5.6.10
tomcat版本:7.0
jdk版本:1.7.0_55
?
開發(fā)人員強調(diào)說是以前經(jīng)歷過重啟下mysql數(shù)據(jù)庫就好了,不過我不太相信,因為我通過sqlyog客戶端連接數(shù)據(jù)庫完全正常的,而且我使用以下生成的kill命令清除了所有數(shù)據(jù)庫連接,然后再重啟7100的tomcat,也沒有發(fā)現(xiàn)任何tomcat發(fā)起的connection連接過來,所以我懷疑不是mysql數(shù)據(jù)庫的問題:
|   SELECT?CONCAT('kill?',t.`ID`,';')?FROM?information_schema.`PROCESSLIST`?t?WHERE?t.`HOST`?NOT?IN('localhost')?AND?t.`COMMAND`?IN?('Sleep');  | 
?
?
tomcat啟動詳細日志如下:
|   2016-07-11 19:57:23,378 [main:INFO] com.google.code.yanf4j.core.impl.AbstractController - Controller has been stopped. 2016-07-11 19:57:23,381 [main:ERROR] org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonSecurityFilter': Injection of autowired dependencies failed; nested exception is org.springframew ork.beans.factory.BeanCreationException: Could not autowire field: private com.plocc.auth.common.CommonSecurityMetadataSource com.plocc.auth.common.CommonSecurityFilter.securityMetadataSource ; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonSecurityMetadataSource': Invocation of init method failed; nested exception ?is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An SQLException was provoked by the following failure: ?com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool; nested exception is java.sql.SQLException: An SQLException was provoked by the following ?failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ???????? at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ???????? at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) ???????? at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) ???????? at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) ???????? at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384) ???????? at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) ???????? at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) ???????? at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) ???????? at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) ???????? at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) ???????? at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) ???????? at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) ???????? at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) ???????? at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) ???????? at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) ???????? at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) ???????? at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) ???????? at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) ???????? at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) ???????? at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) ???????? at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) ???????? at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) ???????? at org.apache.catalina.core.StandardService.start(StandardService.java:525) ???????? at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) ???????? at org.apache.catalina.startup.Catalina.start(Catalina.java:595) ???????? at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ???????? at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ???????? at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ???????? at java.lang.reflect.Method.invoke(Method.java:606) ???????? at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) ???????? at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.plocc.auth.common.CommonSecurityMetadataSource com.plocc.auth.common.CommonSecurityFi lter.securityMetadataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonSecurityMetadataSource': Invocation of init meth od failed; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An SQLException was provoke d by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool; nested exception is java.sql.SQLException: An SQLException wa s provoked by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506) ???????? at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) ???????? at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) ???????? ... 37 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonSecurityMetadataSource': Invocation of init method failed; nested exception is org.spr ingframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An SQLException was provoked by the following failure: com.mchang e.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool; nested exception is java.sql.SQLException: An SQLException was provoked by the following failure: c om.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:135) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ???????? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ???????? at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ???????? at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ???????? at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848) ???????? at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) ???????? at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) ???????? at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) ???????? ... 39 more Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An SQLException was provoked by the following f ailure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool; nested exception is java.sql.SQLException: An SQLException was provoked by the fo llowing failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:195) ???????? at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:293) ???????? at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:287) ???????? at com.plocc.auth.dao.impl.AuthResourceDAOImpl.selectResourceAll(AuthResourceDAOImpl.java:147) ???????? at com.plocc.auth.dao.impl.AuthResourceDAOImpl$$FastClassByCGLIB$$14a1e188.invoke(<generated>) ???????? at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) ???????? at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) ???????? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ???????? at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) ???????? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ???????? at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) ???????? at com.plocc.auth.dao.impl.AuthResourceDAOImpl$$EnhancerByCGLIB$$dad3756c.selectResourceAll(<generated>) ???????? at com.plocc.auth.service.impl.AuthenticationServiceImpl.getAuthResourceAll(AuthenticationServiceImpl.java:456) ???????? at sun.reflect.GeneratedMethodAccessor2222.invoke(Unknown Source) ???????? at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ???????? at java.lang.reflect.Method.invoke(Method.java:606) ???????? at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) ???????? at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ???????? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ???????? at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:77) ???????? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ???????? at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ???????? at com.sun.proxy.$Proxy79.getAuthResourceAll(Unknown Source) ???????? at sun.reflect.GeneratedMethodAccessor2222.invoke(Unknown Source) ???????? at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ???????? at java.lang.reflect.Method.invoke(Method.java:606) ???????? at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:306) ???????? at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:221) ???????? at org.springframework.remoting.caucho.HessianExporter.doInvoke(HessianExporter.java:198) ???????? at org.springframework.remoting.caucho.HessianExporter.invoke(HessianExporter.java:118) ???????? at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:66) ???????? at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) ???????? at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) ???????? at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) ???????? at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) ???????? at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) ???????? at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) ???????? at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) ???????? at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) ???????? at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ???????? at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) ???????? at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) ???????? at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) ???????? at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) ???????? at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) ???????? at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) ???????? at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) ???????? at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) ???????? at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) ???????? at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: An SQLException was provoked by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106) ???????? at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65) ???????? at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62) ???????? at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531) ???????? at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128) ???????? at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ???????? at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:182) ???????? ... 49 more Caused by: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool ???????? at com.mchange.v2.resourcepool.BasicResourcePool.ensureNotBroken(BasicResourcePool.java:1632) ???????? at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:524) ???????? at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477) ???????? at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525) ???????? ... 52 more 七月 11, 2016 7:57:23 下午 org.apache.catalina.core.StandardContext start 嚴(yán)重: Error listenerStart 七月 11, 2016 7:57:23 下午 org.apache.catalina.core.StandardContext start 嚴(yán)重: Context [/PLATFORM_SSO_Web] startup failed due to previous errors 七月 11, 2016 7:57:23 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deploying web application directory test 七月 11, 2016 7:57:23 下午 org.apache.coyote.http11.Http11Protocol start 信息: Starting Coyote HTTP/1.1 on http-7100 七月 11, 2016 7:57:23 下午 org.apache.jk.common.ChannelSocket init 信息: JK: ajp13 listening on /0.0.0.0:7109 七月 11, 2016 7:57:23 下午 org.apache.jk.server.JkMain start 信息: Jk running ID=0 time=0/29? config=null 七月 11, 2016 7:57:23 下午 org.apache.catalina.startup.Catalina start 信息: Server startup in 3616 ms ?  | 
?
?
2,檢查工程spring的數(shù)據(jù)庫配置文件
Jdbc配置文件check后,都正常,有相應(yīng)的maxIdleTime等設(shè)置,c3p0正常,如下:
|   vim ./webapps/PLATFORM_SSO_Web/WEB-INF/classes/META-INF/spring/db/jdbc/applicationContext_jdbc.xml ? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> ? <beans> ??????? <!-- C3P0連接池配置--> ??????? <bean id="dataSource"? ??????? class="com.mchange.v2.c3p0.ComboPooledDataSource"? ??????? destroy-method="close"> ??????? <property name="driverClass"> ??????????? <value>${sso.datasource.driverClassName}</value> ??????? </property> ??????? <property name="jdbcUrl"> ??????????? <value>${sso.datasource.url}</value> ??????? </property> ??????? <property name="user"> ??????????? <value>${sso.datasource.username}</value> ??????? </property> ??????? <property name="password"> ??????????? <value>${sso.datasource.password}</value> ??????? </property> ? ?<!--連接池中保留的最小連接數(shù)。--> ??????? <property name="minPoolSize"> ??????? ????<value>${sso.datasource.minPoolSize}</value> ??????? </property> ? ?<!--連接池中保留的最大連接數(shù)。Default: 15 --> ??????? <property name="maxPoolSize"> ??????????? <value>${sso.datasource.maxPoolSize}</value> ??????? </property> ? <!--初始化時獲取的連接數(shù),取值應(yīng)在minPoolSize與maxPoolSize之間。Default: 3 --> ??????? <property name="initialPoolSize"> ??????????? <value>${sso.datasource.initialPoolSize}</value> ??????? </property> ? ?<!--最大空閑時間,60秒內(nèi)未使用則連接被丟棄。若為0則永不丟棄。Default: 0 --> ??????? <property name="maxIdleTime"> ??????????? <value>${sso.datasource.maxIdleTime}</value> ??????? </property> ? ?<!--當(dāng)連接池中的連接耗盡的時候c3p0一次同時獲取的連接數(shù)。Default: 3 --> ??????? <property name="acquireIncrement"> ??????????? <value>${sso.datasource.acquireIncrement}</value> ??????? </property> ? ?<!--JDBC的標(biāo)準(zhǔn)參數(shù),用以控制數(shù)據(jù)源內(nèi)加載的PreparedStatements數(shù)量。但由于預(yù)緩存的statements? ? 屬于單個connection而不是整個連接池。所以設(shè)置這個參數(shù)需要考慮到多方面的因素。? ? 如果maxStatements與maxStatementsPerConnection均為0,則緩存被關(guān)閉。Default: 0--> ??????? <property name="maxStatements"> ??????????? <value>${sso.datasource.maxStatements}</value> ??????? </property> ? ?<!--每60秒檢查所有連接池中的空閑連接。Default: 0 --> ??????? <property name="idleConnectionTestPeriod"> ??????????? <value>${sso.datasource.idleConnectionTestPeriod}</value> ??????? </property> ? ?<!--定義在從數(shù)據(jù)庫獲取新連接失敗后重復(fù)嘗試的次數(shù)。Default: 30 --> ??????? <property name="acquireRetryAttempts"> ??????????? <value>${sso.datasource.acquireRetryAttempts}</value> ??????? </property> ? ?<!--獲取連接失敗將會引起所有等待連接池來獲取連接的線程拋出異常。但是數(shù)據(jù)源仍有效? ? 保留,并在下次調(diào)用getConnection()的時候繼續(xù)嘗試獲取連接。如果設(shè)為true,那么在嘗試? ? 獲取連接失敗后該數(shù)據(jù)源將申明已斷開并永久關(guān)閉。Default: false--> ??????? <property name="breakAfterAcquireFailure"> ??????????? <value>${sso.datasource.breakAfterAcquireFailure}</value> ??????? </property> ? ?<!--因性能消耗大請只在需要的時候使用它。如果設(shè)為true那么在每個connection提交的? ? 時候都將校驗其有效性。建議使用idleConnectionTestPeriod或automaticTestTable? ? 等方法來提升連接測試的性能。Default: false --> ??????? <property name="testConnectionOnCheckout"> ??????????? <value>${sso.datasource.testConnectionOnCheckout}</value> ??????? </property> ??? </bean> ? ??? <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> ??????? <property name="dataSource" ref="dataSource"/> ??? </bean> ? ? ??? <!-- C3P0連接池配置--> </beans> ?  | 
?
?
3,查看工程參數(shù)配置文件
查看工程啟動的參數(shù)配置文件,check里面的數(shù)據(jù)庫配置等等,一切正常使用,如下所示:
|   [tomcat@dev_121_21 apache-tomcat-6.0.37_7100]$? more ./webapps/PLATFORM_SSO_Web/WEB-INF/classes/system.properties |grep -v "#" system.id=1000 system.env=default properties.hessian.serviceUrl=http://bs.powerlong.com/PLATFORM_PROPERTIES_Service/remoting/PropertiesService sso.server.login.url=http://bs.powerlong.com/PLATFORM_SSO_Web/login.htm sso.domain= sso.restriction.policy.error.number=5 sso.exception.error.page= mobile.verify.interface.url= auth.server.failed.url=http://bs.powerlong.com/PLATFORM_AUTH_Web/auth/failed.htm sso.datasource.url=jdbc:mysql://zitandbtest.powerlong.com:3306/platform_db?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&preferredTestQuery=select now() sso.datasource.driverClassName=com.mysql.jdbc.Driver sso.datasource.username=platform_user sso.datasource.password=ysh1124 sso.datasource.maxPoolSize=120 sso.datasource.minPoolSize=5 sso.datasource.initialPoolSize=10 sso.datasource.maxIdleTime=10 sso.datasource.acquireIncrement=5 sso.datasource.maxStatements=0 sso.datasource.idleConnectionTestPeriod=10 sso.datasource.acquireRetryAttempts=30 sso.datasource.breakAfterAcquireFailure=true sso.datasource.testConnectionOnCheckout=true url.static=http://bsstatic.powerlong.com url.static.https=http://bsstatic.powerlong.com url.www=http://bs.powerlong.com/PLATFORM_MANAGER_Web/manager/index.htm url.address=http://bsstatic.powerlong.com ? base_path = http://bs.powerlong.com/PLATFORM_MANAGER_Web auth_web_path = http://bs.powerlong.com/PLATFORM_AUTH_Web/ ? ? [tomcat@dev_121_21 apache-tomcat-6.0.37_7100]$ ?  | 
?
?
4,最終的解決辦法
?
(1)????? 重啟7100的tomcat后,仍然一模一樣的錯誤。
(2)????? Kill掉mysql5.7上的所有session線程后重啟tomcat,仍然報一模一樣的錯誤。
(3)????? 重啟mysql數(shù)據(jù)庫后再重啟tomcat,仍然報一模一樣的錯誤。
?
?
上午是好的,下午出問題了,重啟tomcat和mysql都不能解決,那么問題就在別的地方了?那么問題在哪里?再次檢查參數(shù)文件里面,有
properties.hessian.serviceUrl=http://bs.powerlong.com/PLATFORM_PROPERTIES_Service/remoting/PropertiesService
?
這個工程是外部工程,在7200的tomcat上面,難道是外部的工程引起的?
?
然后ps –eaf|grep 7200; 發(fā)現(xiàn)有3個啟動的7200進程,那么就是7200啟動失敗而且卡住了,強行使用kill -9 pid清除7200進程,然后重啟7200tomcat成功后,再次啟動7100的tomcat進程,這次成功了,沒有報錯了。
?
此次問題是由于服務(wù)器上的7200端口的tomcat異常,啟動了3個,而7100的tomcat需要先去7200上面獲取service接口,去通過調(diào)用7200的service接口來初始化數(shù)據(jù)庫連接,所以7200異常了,那么7100啟動獲取資源建立數(shù)據(jù)庫連接池就會報錯了。
?
?
?
5,補充后續(xù)遇到的處理方案
(1)INNODB_TRX表有事務(wù)一直沒有被釋放
(2)因為模塊化,web項目和service項目是分開的,service項目沒有啟動起來,所以導(dǎo)致web項目啟動獲取不了資源報錯,這個時候需要先啟動web對應(yīng)的service項目,然后再啟動web項目即可。
?
總結(jié)
以上是生活随笔為你收集整理的MySQL5.7 Attempted to use a closed or broken resource pool 处理过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 英语四六级写作常用高分词汇句型替换
 - 下一篇: Button 按钮