java连服务器mysql报错_tomcat程序连接服务器mysql数据库报错
tomcat程序連接服務器mysql數據庫,報
錯誤,后來用java程序直接連接數據庫,發現可以連得上,可以操作數據庫,
在網上查了設置數據庫連接等待時間(wait_timeout)設置,也沒用。
奇怪的一點是,盡管控制臺報錯,但是還可以實現本人寫的那個查詢功能,可以從數據庫中查到數據顯示到頁面
org.apache.commons.dbcp.SQLNestedException:?Cannot?create?PoolableConnectionFactory?(Communications?link?failure
The?last?packet?sent?successfully?to?the?server?was?0?milliseconds?ago.?The?driver?has?not?received?any?packets?from?the?server.)
at?org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
at?org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at?org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at?org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)
at?org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at?org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at?org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
at?org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
at?org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1175)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1145)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at?org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
at?org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at?org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:279)
at?org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:360)
at?org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)
at?org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at?com.base.common.spring.SpringContextLoaderServlet.init(SpringContextLoaderServlet.java:23)
at?javax.servlet.GenericServlet.init(GenericServlet.java:158)
at?org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at?org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at?org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at?org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5262)
at?org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5550)
at?org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at?org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at?org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at?org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at?org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
at?org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
at?java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at?java.util.concurrent.FutureTask.run(FutureTask.java:262)
at?java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at?java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at?java.lang.Thread.run(Thread.java:745)
Caused?by:?com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:?Communications?link?failure
The?last?packet?sent?successfully?to?the?server?was?0?milliseconds?ago.?The?driver?has?not?received?any?packets?from?the?server.
at?sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native?Method)
at?sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at?sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at?java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at?com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at?com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118)
at?com.mysql.jdbc.MysqlIO.(MysqlIO.java:343)
at?com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308)
at?com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
at?com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:774)
at?com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:49)
at?sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native?Method)
at?sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at?sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at?java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at?com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at?com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
at?com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
at?org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
at?org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at?org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
at?org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
…?46?more
Caused?by:?java.net.ConnectException:?Connection?refused:?connect
at?java.net.DualStackPlainSocketImpl.connect0(Native?Method)
at?java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at?java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at?java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at?java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at?java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at?java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at?java.net.Socket.connect(Socket.java:579)
at?java.net.Socket.connect(Socket.java:528)
at?java.net.Socket.(Socket.java:425)
at?java.net.Socket.(Socket.java:241)
at?com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at?com.mysql.jdbc.MysqlIO.(MysqlIO.java:292)
…?61?more
解決方案
20
Caused?by:?java.net.ConnectException:?Connection?refused:?connect
這個是數據庫拒絕連接,可能是數據庫服務器達到了最大連接數
The?last?packet?sent?successfully?to?the?server?was?0?milliseconds?ago.?The?driver?has?not?received?any?packets?from?the?server.
答:可能是數據庫回收了連接,緩沖池不知道,繼續使用被回收的連接所致的。可以在jdbc字符串中增加&autoReconnect=true
奇怪的一點是,盡管控制臺報錯,但是還可以實現本人寫的那個查詢功能,可以從數據庫中查到數據顯示到頁面
答:hibernate的緩存
20
jdbc字符串中增加&autoReconnect=true
哪個文件中寫了jdbc,那里就加上
CodeBye 版權所有丨如未注明 , 均為原創丨本網站采用BY-NC-SA協議進行授權 , 轉載請注明tomcat程序連接服務器mysql數據庫報錯!
總結
以上是生活随笔為你收集整理的java连服务器mysql报错_tomcat程序连接服务器mysql数据库报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql show作用_mysql的s
- 下一篇: mysql relay bin 主库_M