我有一个JPA EntityManagerFactory,它可以连接到HikariCP连接池,从中可以得到一个EntityManager,Session,Connection等。有什么办法可以通过编程方式找出Hikari连接的最大池大小池?
从debuger中,我可以看到Connection对象是HikariProxyConnection的一个实例,它有一个对PoolEntry对象的内部引用,我假设它会链接回池,它将知道最大池大小。但PoolEntry无法公开访问。
所以,鉴于此代码:
EntityManagerFactory factory = Persistence.createEntityManagerFactory("PersistenceUnitName", new HashMap());
EntityManager entityManager = factory.createEntityManager();
这个persistence.xml:
<persistence-unit name="DbNamr">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>...</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL95Dialect"/>
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider"/>
<property name="hibernate.auth" value="Container" />
<property name="hibernate.hikari.connectionTimeout" value="300000" />
<property name="hibernate.hikari.maximumPoolSize" value="5" />
<property name="hibernate.hikari.minimumIdle" value="1" />
<property name="hibernate.hikari.idleTimeout" value="60000" />
<property name="hibernate.hikari.dataSourceClassName" value="org.postgresql.ds.PGSimpleDataSource" />
</properties>
</persistence-unit>
我是否有任何编程方式可以找出最大池大小为5?