问题标签 [hazelcast-imap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hazelcast - 在 ArrayDataSerializableFactory 无法为 id 创建实例的情况下获取 HazelcastSerializationException
当我的 Web 应用程序查询 Hazelcast 缓存以获取数据时,我遇到了一个问题,HazelcastSerializationException 被抛出。我们正在使用 hazelcast-all-3.6.6.jar。
以下是从服务器日志收集的相同堆栈跟踪 -
此异常在 Hazelcast 类中,在获取 QueryResultRow 后,它无法进行序列化。以下是完全失败的相同代码片段:
以下是 toObject() 方法的实现:
java - Hazelcast Rest API 不返回任何内容
在 linux (rh) 上运行 hazelcast (3.4)。我在一个实例中创建了 MAP,添加了几条记录:
我可以使用 java 客户端 HazelcastClient 读取地图,但在使用 curl 或浏览器点击 REST 接口时看不到任何内容:
实际上浏览器显示响应代码 204 - 没有内容
hazelcast - Hazelcast 无法加载具有“大量”条目的地图
尝试加载包含超过 40000 个条目的地图时,我遇到了 Hazelcast 问题。
如果我将条目数限制为大约 40000,Hazelcast 可以很好地加载地图。更多的结果会导致以下异常被重复抛出。我正在使用 Hazelcast MapLoader。无论结果大小如何,MapLoader.getAllKeys 都会成功执行。每批要加载的对象都会引发异常。
我正在使用带有单个节点的 Hazelcast 版本 3.7.2。非常感谢任何帮助或指导。
java - hazelcast 分布式加载是否阻塞?
目前,我有一个支持 MapStore 的 IMap。此 IMap 在启动时加载并具有数百万个条目。当地图完全加载时,客户端使用 Imap.values() 和谓词检索条目。这种加载对我来说在启动时工作得很好。
现在,我必须定期重新加载所有数据(例如,每 2 小时)。我正在使用 IMap.loadAll(true) 强制重新加载。MapStore (loadAllKeys() + loadAll(keys)) 大约需要 4 分钟才能完成完整的加载。似乎在这 4 分钟内,所有通过谓词向 imap 发送查询的客户端都被阻塞,直到重新加载完成。
就我而言,我无法在 4 分钟内阻塞集群(实际上一秒钟都不会)。
- 真的是 Imap.loadAll 阻塞了谓词查询吗?
- 可以将 imap 配置为非阻塞或存在 IMap.loadAll() 的非阻塞替代方案。
我正在尝试使用 HC 3.7.2,有 2 个节点和 java 8。
java - Hazelcast 'IdentifiedDataSerializable':writeData HashMap 实例
我已经开始使用 Hazelcast 的 IdentifiedDataSerializable 接口来序列化一些类,当我需要 writeData 一个简单的 java.util.map 实例时,有些东西无法正常工作 - 我使用
但它会引发异常:java.io.NotSerializableException
如果我只存储地图的一个条目,如下所示:
那么它的工作原理!
我在这里想念什么?
另一个问题:在我的课堂上,我有以下声明:
我需要writeData\readData
'static final'
会员吗?还是因为他们static
没有必要?
谢谢!
java - 尝试将 Map 存储在 Hazelcast 缓存中时无法序列化它
我正在尝试从数据库中获取数据并放入地图并尝试将该地图存储在hazelcast 缓存服务器中。但它给出了错误
com.hazelcast.nio.serialization.HazelcastSerializationException:无法序列化“java.util.TreeMap”。
下面是我的代码。
由于最后一行打印语句没有被执行,这意味着 TreeMap 没有被添加到缓存中。请帮忙?
hazelcast - 如果使用自定义对象作为键,则无法从 Hazelcast 的地图中检索元素
我正在使用 Hazelast Map 并尝试将对象存储在我的自定义类的对象的键上,即HMapKey
. 这是HMapKey
课程的片段。
正如您在上面的代码中看到的,我只使用keyCode
了 equals() 方法来比较两个对象。所以无论time
变量有什么价值。但是当我在 Hazelcast 的 Map 中将此对象用作键并尝试检索它时,我认为 Hazelcast 检查键类的每个变量,因此,即使我有相同的keyCode
变量值和不同的time
变量,Hazelcast 也会将我返回为NULL
. 是否有任何配置告诉 Hazelcast 不要进行所有变量检查并equals()
仅使用现有方法?
这是我尝试从地图中检索数据的代码
意味着,在插入时,我创建了类似的键对象,new HMapKey("code1",123)
但在检索它时,我正在创建新对象new HMapKey("code1",0)
,这将我作为空值返回。而如果我尝试new HMapKey("code1",123)
它工作正常。
java - 在节点启动时创建和填充 Hazelcast 地图
节点启动后,有没有办法在 hazelcast(3.4 版)节点上执行代码片段?
这个想法是:一旦 hazelcast 节点之一开始创建地图(不等待 .getMap 在客户端执行)并从数据库中填充数据,因此当客户端请求数据时,地图已经填充。
java - Hazelcast 缓存没有变空以存储更新的记录
我想在 5 分钟后让我的 hazelcast 地图为空,以便我可以将更新的 Db 记录放入其中。但它没有变空并且仍然包含旧记录。下面是我在 hazelcast 缓存服务器中的 hazlecast.xml 文件。
我的 Java 代码是这样的:
榛树声明:
getDataFromCache()的方法实现:--
hazelcast - 如何触发 Hazelcast NearCache 的预加载?
我了解 NearCache 仅在对 IMap 上的该键执行第一次获取操作后才加载。但我很想知道是否有任何方法可以触发 NearCache 的预加载及其集群中的所有条目。
用例:
键是一个简单的 bean 对象,值是一个 TIntHashMap 类型的 DAO 对象,其中包含许多条目。
大小:
值对象的大小范围从 0.1MB 到 24MB(>90% 的条目小于 5MB)。IMap 中的条目数范围为 150-250。
基准测试:
第一次调用 get 操作需要 2-3 秒,后来调用需要 <10 毫秒。
现在我创建了下面的例程,它读取 IMap 并读取每个条目以刷新 NearCache。