java如何在hazelcast中跨主线程和入口侦听器进行事务?
我有一个用图形(或者更具体地说是dag)表示的节点网络。顶点和边只是指向缓存中大型对象的ID
我使用的是hazelcast,有两个缓存:
1。图形的引用对象
2。用于大型对象的IMap
3。图中边的IMap
当我插入一个大对象时,我有一个条目侦听器,它将更新缓存中的这个图。类似地,当我添加边缘数据时,还有一个条目侦听器将更新图形
但是我有一个问题,如果我创建了一条边,它创建了一个循环,它会失败(因为它是dag),但IMap会保留记录
你知道如何在主线程和入口侦听器之间进行事务处理吗
# 1 楼答案
虽然这是一种完全不同的方法,但你看过Hazelcast Jet吗?这是一个基于DAG的事件流处理引擎,构建在Hazelcast IMDG之上。它可能更适合您的用例,并为您处理较低级别的内容
https://jet.hazelcast.org
你会有一个喷气机群,这也是一个Hazelcast群,但你可以用它获得所有的加工材料。它扩展了Java Streams编程模型,因此您只需像编写Java流一样编写应用程序,然后在集群上运行它。无论如何,还是要考虑一下
# 2 楼答案
@Pilo,问题是
EntryListener
侦听在地图中已经填充数据之后触发的事件。因此,当您将数据插入第一张地图时;听一个更新事件,数据已经在第一个映射中你也可以