Hello,
I have configured Ignite cache with Hibernate 2L cache for to instances and
almost everything works fine but when trying to evict collection data after
new entity creation, seems that eviction doesn't work because there is no
new entity in that evicted collection. My configs:
<bean id="transactional-cache"
class="org.apache.ignite.configuration.CacheConfiguration" abstract="true">
<property name="cacheMode" value="REPLICATED"/>
<property name="atomicityMode" value="TRANSACTIONAL"/>
<property name="writeSynchronizationMode" value="FULL_SYNC"/>
<property name="statisticsEnabled" value="true"/>
<property name="nearConfiguration">
<bean
class="org.apache.ignite.configuration.NearCacheConfiguration"/>
</property>
</bean>
<bean id="igniteInstance"
class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="peerClassLoadingEnabled" value="true"/>
<property name="igniteInstanceName" value="myGrid"/>
<property name="cacheConfiguration"><list>
<!--
Configurations for entity caches.
-->
<bean parent="transactional-cache">
<property name="name"
value="org.hibernate.cache.spi.UpdateTimestampsCache"/>
</bean>
<bean parent="transactional-cache">
<property name="name"
value="org.hibernate.cache.internal.StandardQueryCache"/>
</bean>
<bean parent="transactional-cache">
<property name="name" value="default-query-results-region"/>
</bean>
<bean parent="transactional-cache">
<property name="name"
value="default-update-timestamps-region"/>
</bean>
<bean parent="transactional-cache">
<property name="name" value="lock-cache"/>
</bean>
<bean parent="transactional-cache">
<property name="name" value="query.ProjectDAO"/>
</bean>
</list>
</property>
<property name="discoverySpi">
<bean
class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
<property name="multicastGroup"
value="228.10.10.157"/>
</bean>
</property>
</bean>
</property>
</bean>
...
<bean id="dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass"
value="${hibernate.connection.driver_class}" />
<property name="jdbcUrl" value="${hibernate_connection_url}" />
<property name="user" value="${hibernate.connection.username}" />
<property name="password" value="${hibernate.connection.password}"
/>
<!-- these are C3P0 properties -->
<property name="acquireIncrement" value="2" />
<property name="initialPoolSize" value="30" />
<property name="minPoolSize" value="30" />
<property name="maxPoolSize" value="50" />
<property name="maxIdleTime" value="60" />
<property name="acquireRetryAttempts" value="3" />
<property name="acquireRetryDelay" value="3000" />
<property name="idleConnectionTestPeriod" value="3600" />
<property name="preferredTestQuery" value="SELECT 1 " />
<property name="maxIdleTimeExcessConnections" value="3600" />
<property name="maxConnectionAge" value="7200" />
<property name="checkoutTimeout" value="50000" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
depends-on="igniteInstance">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<!--<prop key="hibernate.show_sql">true</prop>-->
<prop
key="hibernate.session_factory_name">our-session-factory</prop>
<prop
key="hibernate.session_factory_name_is_jndi">false</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.generate_statistics">false</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop
key="hibernate.connection.characterEncoding">UTF-8</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop
key="hibernate.cache.use_second_level_cache">true</prop>
<prop
key="hibernate.cache.region.factory_class">org.apache.ignite.cache.hibernate.HibernateRegionFactory</prop>
<prop
key="org.apache.ignite.hibernate.default_access_type">READ_WRITE</prop>
<prop
key="org.apache.ignite.hibernate.ignite_instance_name">myGrid</prop>
</props>
</property>
If i use only one instance (one application), eviction works fine. Can You
help me?