将Ignite用于具有S3发现的Hibernate二级高速缓存,不会改变更改

问题描述:

我们已将部署到AWS的集群配置为使用Ignite作为hibernate二级高速缓存,并且我们正在使用S3发现。在启动时,我们可以看到节点之间的连接正确。将Ignite用于具有S3发现的Hibernate二级高速缓存,不会改变更改

但是,当在一台服务器上更新hibernate实体时,更改不会通过群集传播,因此其他服务器仍然具有旧值。

这是我们点燃配置的一个片断.. ```

<!-- Basic configuration for transactional cache. --> 
<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_ASYNC"/> 
    <property name="backups" value="0"/> 
</bean> 

<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" > 
    <property name="discoverySpi" ref="discoverySpi"/> 
    <property name="gridName" value="hibernate-grid"/> 
    <property name="cacheConfiguration"> 
     <list> 
      <bean parent="transactional-cache"> 
       <property name="name" value="hibernate.io.milton.vfs.db.Auditable"/> 
      </bean> 

```

完全相同的应用程序代码,当hazelcast第二级配置缓存,确实有效。

我确定我们的配置有问题。任何人都可以提示一个指针

很可能你遇到了一个二进制格式的已知问题,它用作Ignite中的默认问题。有关详细信息,请参阅此处的警告标注:https://apacheignite-mix.readme.io/docs/hibernate-l2-cache#l2-cache-configuration

切换到OptimizedMarshaller应解决此问题。

+0

干杯,会给一个去。 – brad