Как определить текущую конфигурацию ConnectionProvider - PullRequest
0 голосов
/ 15 апреля 2019

Мы используем HikariCP через Hibernate для пула соединений через JPA, но наша инфраструктура настроена довольно абстрактно.Для создания наших EntityManager мы устанавливаем hibernate.connection.[url/username/password] в свойствах Map, затем вызываем Persistence.createEntityManagerFactory("PersistenceUnit", propertiesMap);

Наш файл persistence.xml имеет:

<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
  <properties>
    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL57InnoDBDialect"/>
    <property name="hibernate.hbm2ddl.auto" value="update"/>
    <property name="hibernate.cache.use_second_level_cache" value="false"/>
    <property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider"/>
  </properties>
</persistence-unit>

Я знаю, что EntityManagerFactory и EntityManager, возвращаемые этим подходом,будучи объединенным через HikariCP, но мы пытаемся отладить некоторые вещи и хотели бы увидеть, каковы все наши фактические значения конфигурации HikariCP.Я просто не могу понять, как проколоть абстракцию и заставить работать какие-либо конкретные объекты реализации.

В идеале я хотел бы знать, как обычно можно получить эту информацию через JPA API, но я остановлюсьза любой трюк, который сбрасывает все текущие настройки HikariCP.

...