java - Hikari 驱动程序不支持获取/设置连接的网络超时。 (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)

标签 java mysql mariadb hikaricp

我在创建 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>

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

最佳答案

在我看来,这像是版本不匹配问题。 setNetworkTimeout() 是在 JDBC 4.1 中引入的,在 JDBC 4.0 中不存在。从你的 stacktrace 可以看出:

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

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

关于java - Hikari 驱动程序不支持获取/设置连接的网络超时。 (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61904092/

相关文章:

java - 按顺序、向前和向后打印 LinkedList 列表

php - 搜索多个类别的产品

entity-framework - 使用 dotnet ef 迁移创建数据库时如何设置字符集?

linux - 在 Amazon Linux AMI CentOS 7 上安装 MariaDB 时出现依赖项错误

mysql 在新数据集上查询太慢 - mariaDB

java - REST 异步操作抛出 ProcessingException

java - 追加文件导致覆盖(Java)

java - junit测试中的Mock方法

mysql - 当外键相似时如何获取单行

mysql - 多个查询事件失败