Настройка HikariCP

HijariCP настолько простая в использовании вещь, что о нём не о чем даже писать. Если только о вариантах конфигурации.

HikariCP можно настраивать напрямую

HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl("jdbc:postgresql://127.0.0.1/test");
ds.setUsername("test");
ds.setPassword("test");
Сразу создавать объект HikariDataSource, заполнять его свойства и использовать.

HikariCP можно конфигурировать прямо в коде

HikariConfig config = new HikariConfig();
config.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource");
config.setUsername("test");
config.setPassword("test");
config.addDataSourceProperty("databaseName", "test");
config.addDataSourceProperty("serverName", "127.0.0.1");


HikariDataSource ds = new HikariDataSource(config);

Создаём объект HikariConfig и передаём его конструктору HikariDataSource. При использовании любого метода конфигурации можно задать либо jdbc url, либо имя класса, реализующего интерфейс DataSource. Можно задать сразу оба, но нельзя не задать ни одного.

HikariCP можно конфигурировать файлами свойств

dataSourceClassName=org.postgresql.ds.PGSimpleDataSource
dataSource.user=test
dataSource.password=test
dataSource.databaseName=test
dataSource.serverName=127.0.0.1
HikariConfig config = new HikariConfig("/hikaricp.properties");
HikariDataSource ds = new HikariDataSource(config);

В конструктор HikariConfig можно передать имя файла со свойствами (или экземляр Properties), в которых перечислить все необходимые значения настроек. Это позволяет отделить код от конфигурации.

HikariCP можно использовать со Spring

Использование со Spring JavaConfig очевидно, а вот xml конфигурация уже посложнее:

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
  <property name="poolName" value="springHikariCP" />
  <property name="dataSourceClassName" value="org.postgresql.ds.PGSimpleDataSource" />


  <property name="dataSourceProperties">
      <props>
        <prop key="databaseName">test</prop>
        <prop key="serverName">127.0.0.1</prop>
        <prop key="user">test</prop>
        <prop key="password">test</prop>
      </props>
  </property>
</bean>


<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
  <constructor-arg ref="hikariConfig" />
</bean>


<bean id="jdbcTemplate"
    class="org.springframework.jdbc.core.JdbcTemplate">
  <constructor-arg name="dataSource" ref="dataSource"/>
</bean>

Скачать код примера. Для запуска примера требуется установить PostgreSQL сервер и разрешить к нему доступ. Если сервер будет установлен не на локальной машине, требуется изменить его адрес в коде.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *