【问题标题】:Hikari Driver does not support get/set network timeout for connections. (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)Hikari 驱动程序不支持获取/设置连接的网络超时。 (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)
【发布时间】:2020-05-20 02:32:33
【问题描述】:

我在创建 Hikari 连接时出错,过去使用 mysql-connector 但最后我决定使用 hikaricp。

这是错误:

[04:17:49] [Server thread/INFO]: HikariPool-1 - Starting...
[04:17:49] [Server thread/INFO]: HikariPool-1 - Driver does not support get/set network timeout for connections. (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)
[04:17:49] [Server thread/INFO]: HikariPool-1 - Start completed.

我的功能:

    private static final HikariConfig config;
    private HikariDataSource dataSource;

    static {
        config = new HikariConfig();
    }

    public void open(){ 
        config.setJdbcUrl("jdbc:mysql://localhost:3306/"+ database);
        config.setUsername(user);
        config.setPassword(password);
        config.addDataSourceProperty("cachePrepStmts", "true");
        config.addDataSourceProperty("prepStmtCacheSize", "250");
        config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
        dataSource = new HikariDataSource(config);
    }

我有这个 pom.xml:

    <dependencies>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.divecrafts</groupId>
            <artifactId>spigot</artifactId>
            <version>1.8.8</version>
        </dependency>
    </dependencies>

我的专用服务器是使用 mariadb(最新版本)的 debian 9

【问题讨论】:

    标签: java mysql mariadb hikaricp


    【解决方案1】:

    在我看来,这是一个版本不匹配的问题。 setNetworkTimeout() 是在 JDBC 4.1 中引入的,但在 JDBC 4.0 中不存在。从您的堆栈跟踪中可以看出:

    (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()
    

    这就是导致问题的原因。因此,我建议将 mysql 驱动程序和任何相关依赖项更新到最新版本,这应该可以解决您的连接问题。

    【讨论】:

      【解决方案2】:

      我修正了修改我的功能:

      private Connection connection;
      
      public void open(){
              if (checkConnection()) return connection;
      
              final HikariDataSource ds = new HikariDataSource();
              ds.setMaximumPoolSize(20);
              ds.setDriverClassName("org.mariadb.jdbc.Driver");
              ds.setJdbcUrl(String.format("jdbc:mariadb://%s:%s/%s", hostname, port, database));
              ds.addDataSourceProperty("user", user);
              ds.addDataSourceProperty("password", password);
      
              connection = ds.getConnection();
              return connection;
      }
      

      还有我的 pom.xml

          <dependencies>
              <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
                  <version>8.0.20</version>
              </dependency>
              <dependency>
                  <groupId>org.mariadb.jdbc</groupId>
                  <artifactId>mariadb-java-client</artifactId>
                  <version>2.6.0</version>
              </dependency>
              <dependency>
                  <groupId>com.zaxxer</groupId>
                  <artifactId>HikariCP</artifactId>
                  <version>3.4.5</version>
              </dependency>
              <dependency>
                  <groupId>org.projectlombok</groupId>
                  <artifactId>lombok</artifactId>
                  <version>1.18.12</version>
                  <scope>provided</scope>
              </dependency>
              <dependency>
                  <groupId>net.divecrafts</groupId>
                  <artifactId>spigot</artifactId>
                  <version>1.8.8</version>
              </dependency>
          </dependencies>
      

      总而言之,由于我使用了 mariadb,所以我添加了 mariadb 连接器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-25
        • 2021-01-18
        • 2013-09-20
        • 1970-01-01
        • 2014-12-22
        • 2014-02-16
        • 1970-01-01
        • 2011-03-15
        相关资源
        最近更新 更多