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" 

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

     

  • 相关阅读:
    php把数组保存入php文件中
    js判断js文件有没有引入,一般引入的js文件里面都会有函数和对象是否存在
    js 控制按钮点击后不可用
    关于jquery.fn
    js判断回车,区分IE,火狐,谷歌
    复选框 全选 全不选 反选
    50个必备的实用jQuery代码段
    jQuery.extend 函数详解
    VIM查找替换归纳总结
    mysql优化之query_cache_limit
  • 原文地址:https://www.cnblogs.com/hongten/p/Cannot_create_PoolableConnectionFactory.html
Copyright © 2011-2022 走看看