Java 使用Hazelcast IMap调用putAll

Java 使用Hazelcast IMap调用putAll,java,hazelcast,hazelcast-imap,Java,Hazelcast,Hazelcast Imap,我有一个由MapStore实现支持的简单地图。 当我在映射上调用putAll()时,传递要添加到映射中的键值对的映射,Hazelcast出于某种原因为每个值调用映射存储上的store()方法,而不是调用storeAll()一次 不知道为什么会发生这种行为。hazelcast地图是否支持putAll/storeAll关系 谢谢, KonradHazelcast支持不同的持久性模式,即。读通、写通和写后模式 批写入操作,如storeAll()和deleteAll()仅在写后模式下受支持。因此,在您的

我有一个由MapStore实现支持的简单地图。 当我在映射上调用putAll()时,传递要添加到映射中的键值对的映射,Hazelcast出于某种原因为每个值调用映射存储上的store()方法,而不是调用storeAll()一次

不知道为什么会发生这种行为。hazelcast地图是否支持putAll/storeAll关系

谢谢,
Konrad

Hazelcast支持不同的持久性模式,即。读通、写通和写后模式

批写入操作,如
storeAll()
deleteAll()
仅在写后模式下受支持。因此,在您的情况下,您需要启用
write behind
模式来使用
storeAll()

为了“打开”写后模式,您需要在配置xml中将
设置为大于0的值。将
配置为“x”秒意味着修改的条目将在“x”秒后异步放入存储

示例配置:

<map name="employeesMap">
    <map-store enabled="true">
        <class-name>main.jdbc.EmployeeMapStore</class-name>
        <write-delay-seconds>10</write-delay-seconds>
    </map-store>
</map>

main.jdbc.EmployeeMapStore
10
我还想向你推荐一本与这个主题相关的好书


谢谢,我确实在读这篇文章,但没有注意到其中提到这一事实的一小部分。真的很有趣。