连接池-如何找到callablestatement使用连接池(特别是hikaricp)?sql探查器还是perfmon计数器?

9q78igpj  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(254)

如何设置探查器跟踪以发现我的callablestatement使用连接池?
我设置了一个要捕获的跟踪audit:login , audit:logout, rpc:completed. 但我看到的只是一个非集资银行(见下图)。hikari/jdbc驱动程序中是否有任何配置可以让池正常工作?我希望我对该服务的第二次调用是在profiler中进行的2池调用。
hikari配置(我对datasourceclassname同时使用了sqlserverdatasource和sqlserverconnectionpooldatasource,两者的结果相同):

public HikariDataSource createHikariDataSource()  {
    HikariDataSource dbDatasource = new HikariDataSource();
    dbDatasource.setDataSourceClassName("com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource");
    dbDatasource.addDataSourceProperty("databaseName", "tempdb");
    dbDatasource.setPoolName("myJDBCTestConnectionPool");
    dbDatasource.setUsername("someuser");
    dbDatasource.setPassword("totallysafepassword");
    dbDatasource.setMinimumIdle(5);
    dbDatasource.setMaximumPoolSize(10);
    dbDatasource.setConnectionTimeout(300);
    dbDatasource.setIdleTimeout(1000);
    dbDatasource.setMaxLifetime(1000);
    return dbDatasource;
}

过程执行代码(修订版)

public void execMyProc() {
    HikariDataSource hkds = createHikariDataSource();
    Connection conn = hkds.getConnection();
    CallableStatement stmt3 = conn.prepareCall({? = CALL dbo.connectionpooltest @InputParam1=?});
    stmt3.registerOutParameter(1,Types.INTEGER);
    stmt3.setInt(2,1);
    ResultSet rs1 = stmt3.executeQuery();
        rs1.close();
    conn.close();
}

hikaricp和mssql jdbc maven pom.xml条目

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>3.4.5</version>
</dependency>
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.0.jre8</version>
</dependency>

sql代码

use tempdb;
go
create or alter proc connectionpooltest (@InputParam1 int)
as
begin
    return @InputParam1;
end;
go

探查器屏幕截图:

java版本:1.8.281(语言级别11或8)
sql server 2017开发者版(2014年和2019年的行为相同)
无论如何,是否有可靠的证据表明我的hikaricp配置正在使用一个池?如何使用profiler/prefmon/其他工具找到它?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题