zoukankan      html  css  js  c++  java
  • Cannot create PoolableConnectionFactory (Communications link failure)Connection refused: connect

    今天在做web项目的时候碰到了这样的一个异常:

    Caused by: java.lang.RuntimeException: org.apache.tomcat.dbcp.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 edu.gzucm.yjsglxt.base.util.TimeSetUtils.getTimeSets(TimeSetUtils.java:52)
    	at edu.gzucm.yjsglxt.base.util.TimeSetUtils.<clinit>(TimeSetUtils.java:22)
    	... 3 more
    Caused by: org.apache.tomcat.dbcp.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.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    	at edu.gzucm.yjsglxt.base.util.TimeSetUtils.getTimeSets(TimeSetUtils.java:32)
    	... 4 more
    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(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:346)
    	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334)
    	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
    	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
    	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
    	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    	at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    	at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    	... 7 more
    Caused by: java.net.ConnectException: Connection refused: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(Unknown Source)
    	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    	at java.net.PlainSocketImpl.connect(Unknown Source)
    	at java.net.SocksSocketImpl.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295)
    	... 23 more
    2012-2-19 15:35:27 edu.gzucm.yjsglxt.base.util.InitInfoUtil <clinit>
    严重: null
    org.apache.tomcat.dbcp.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.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    	at edu.gzucm.yjsglxt.base.util.DataSourceUtil.getConnection(DataSourceUtil.java:67)
    	at edu.gzucm.yjsglxt.base.util.InitInfoUtil.<clinit>(InitInfoUtil.java:265)
    	at edu.gzucm.yjsglxt.base.filter.PrepareFilter.init(PrepareFilter.java:116)
    	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
    	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
    	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
    	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
    	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
    	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
    	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
    	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    	at java.util.concurrent.FutureTask.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    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(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:346)
    	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334)
    	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
    	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
    	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
    	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    	at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    	at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    	... 17 more
    Caused by: java.net.ConnectException: Connection refused: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(Unknown Source)
    	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    	at java.net.PlainSocketImpl.connect(Unknown Source)
    	at java.net.SocksSocketImpl.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295)
    	... 33 more
    2012-2-19 15:35:27 org.apache.coyote.AbstractProtocol start
    信息: Starting ProtocolHandler ["http-bio-8080"]
    2012-2-19 15:35:27 org.apache.coyote.AbstractProtocol start
    信息: Starting ProtocolHandler ["ajp-bio-8009"]
    2012-2-19 15:35:27 org.apache.catalina.startup.Catalina start
    信息: Server startup in 2983 ms
    

     我知道是连接数据库的时候出现了错误,我检查了我的tomcat的配置文件context.xml文件

    配置如下:

     1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!--
    3 Licensed to the Apache Software Foundation (ASF) under one or more
    4 contributor license agreements. See the NOTICE file distributed with
    5 this work for additional information regarding copyright ownership.
    6 The ASF licenses this file to You under the Apache License, Version 2.0
    7 (the "License"); you may not use this file except in compliance with
    8 the License. You may obtain a copy of the License at
    9
    10 http://www.apache.org/licenses/LICENSE-2.0
    11
    12 Unless required by applicable law or agreed to in writing, software
    13 distributed under the License is distributed on an "AS IS" BASIS,
    14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15 See the License for the specific language governing permissions and
    16 limitations under the License.
    17 --><!-- The contents of this file will be loaded for each web application --><Context>
    18
    19 <!-- Default set of monitored resources -->
    20 <WatchedResource>WEB-INF/web.xml</WatchedResource>
    21
    22 <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    23 <!--
    24 <Manager pathname="" />
    25 -->
    26
    27 <!-- Uncomment this to enable Comet connection tacking (provides events
    28 on session expiration as well as webapp lifecycle) -->
    29 <!--
    30 <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    31 -->
    32 <Resource auth="Container"
    33 driverClassName="com.mysql.jdbc.Driver"
    34 maxActive="100"
    35 maxIdle="30"
    36 maxWait="10000"
    37 name="jdbc/mysql"
    38 password="root"
    39 type="javax.sql.DataSource"
    40 url="jdbc:mysql:///yjsglxt?characterEncoding=UTF-8"
    41 username="root"/>
    42 </Context>

    查了一下,才发现原来是url这里有问题:

    1 url="jdbc:mysql:///yjsglxt?characterEncoding=UTF-8" 

    应该改成:

    1 url="jdbc:mysql://localhost:3306/yjsglxt?characterEncoding=UTF-8" 

    这样做了以后,再次运行一下项目,嘿嘿,可以了……………………

     

  • 相关阅读:
    Android实现文件上传功能(接收端用strust2)
    创建一个多页面,基于UINavigationController的控制的跳转的iOS应用程序
    NSURL中带有汉字参数的乱码处理
    Google Directions API通过请求获取导航数据简介
    iOS下用UIWebView打开文档
    关于Objectivec和Java下DES加密保持一致的方式
    struts2中通过Action以InputStream的下载文件以及在iOS以及Android端接收的实现方式
    NSURL中的参数带有特殊字符的处理
    UIColor设置自定义的颜色不成功问题
    Android中TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题
  • 原文地址:https://www.cnblogs.com/hongten/p/Cannot_create_PoolableConnectionFactory.html
Copyright © 2011-2022 走看看