Среда
HikariCP version: HikariCP-java7 2.4.13
JDK version : 1.7.0_080
Database : PostgreSQL
Driver version : 9.1-901.jdbc3
пружина, использовать HikariCP VS c3p0, тот же код, разные результаты
@Transactional
public Integer enableItem(Long id){
//change item status from 0 to 1
Integer result = itemDao.enableItem(id);
//load item
//if c3p0 , item status is new value 1
// but Hikari, item status still is 0
Item item = itemDao.findItemById(id);
return result;
}
В той же транзакции сначала измените статус элемента с 0 на 1, и затем прочитайте последнюю информацию об элементе, если c3p0, статус элемента имеет новое значение 1, , но Hikari, статус элемента по-прежнему равен 0
Конфигурация Hikari:
<property name="driverClassName" value="#{meta['dataSource.driverClassName']}" />
<property name="jdbcUrl" value="#{meta['dataSource.url']}" />
<property name="username" value="#{meta['dataSource.username']}" />
<property name="password" value="#{meta['dataSource.password']}" />
<property name="readOnly" value="false" />
<property name="idleTimeout" value="#{meta['dataSource.maxIdleTime']}" />
<property name="connectionTimeout" value="30000" />
<property name="maxLifetime" value="1800000" />
<property name="maximumPoolSize" value="#{meta['dataSource.maxPoolSize']}" />
<property name="minimumIdle" value="#{meta['dataSource.minPoolSize']}" />
</bean>
I ожидайте получить последнее значение с Hikari. Есть ли проблемы с конфигурацией?
см. https://github.com/brettwooldridge/HikariCP/issues/1522