将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
应解决此问题。
干杯,会给一个去。 – brad