Java如何获取最大并发连接数?

本示例说明如何获取与数据库的最大并发连接数。要获取此信息,我们使用DatabaseMetaData.getMaxConnections()方法调用。如果返回值为零,则表示没有限制或限制未知。

package org.nhooo.example.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.DriverManager;

public class MaxConnections {
    private static final String URL = "jdbc:mysql://localhost/nhooo";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "";

    public static void main(String[] args) {
        try (Connection connection =
                 DriverManager.getConnection(URL, USERNAME, PASSWORD)) {

            // 获取数据库元数据。
            DatabaseMetaData metaData = connection.getMetaData();

            // 检索最大并发数
            // 可能与此数据库建立连接。
            // 结果为零表示没有限制或
            // 上限未知。
            int max = metaData.getMaxConnections();
            System.out.println("Max concurrent connections: " + max);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.17</version>
</dependency>

Maven中央