环境:
设置:
因此,我遇到的问题是,读者永远不会从写作方面获取更改。我已经使用IgniteInternalCache.entrySet()转储了缓存的内容(与状态相同的频率),它用相同的键显示了缓存中的两个ToggleSwitch实例。
我尝试将它们添加到缓存密钥集中,以查看是否会产生相同的结果,但它的作用与预期一样,只存储一个实例。
我不知道这是怎么回事,有什么想法吗?是错误还是配置错误?
发布于 2016-06-30 20:43:25
最有可能的是,equals和/或hashCode为密钥实现的不正确。我会将这两个键与它们的内容一起存储在缓存中,并尝试调用这些方法来检查它们是否一致。
--更新--
在使用默认二进制封送拆收器时,也可能在多应用程序环境中发生此问题。这里有更多详细信息:https://issues.apache.org/jira/browse/IGNITE-3429
作为解决办法,您可以从默认的二进制序列化切换到OptimizedMarhsaller (请参阅下面的配置示例)。这将迫使关键对象在服务器端反序列化,并正确应用自定义equals逻辑。
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="marshaller">
<bean class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller"/>
</property>
</bean>https://stackoverflow.com/questions/38132263
复制相似问题