java - Vert.x 中的共享数据 AsyncMap 的生命周期有多长?

标签 java vert.x

如果我像这样获取 AsyncMap:

if (vertx.isClustered()) {
    vertx.sharedData().<String, MyEntity>getClusterWideMap("entities", 
            res -> {
                AsyncMap<String, MyEntity> myMap = res.result();
                // Do something with the myMap
            });
}

map 的“生命周期”有多长?它保持同步吗?

我可以在构造函数中获取它,将其存储在字段中,然后反复使用它吗?

或者我是否需要在每次需要时调用 getClusterWideMap 并且仅在 lambda 中使用它?

最佳答案

您可以保留对AsyncMap的引用。再次调用 getClusterWideMap 将为您提供对集群管理器提供的同一底层数据结构的另一个引用。

关于java - Vert.x 中的共享数据 AsyncMap 的生命周期有多长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168245/

相关文章:

java - 何时在 Java 中使用弱引用和虚引用

kotlin - Vert.x编写协程阻止代码的方法

java - 模拟 Verticle 所依赖的类

java - Vertx 因多个文件上传请求而变慢

java - 使用 vertx 进行 JWT 公钥/私钥身份验证中的握手

java - 如何让 Jlist 在添加新元素后自动向下滚动

java - ManyToOne 在两个表中为每个新对象创建新条目

java - 如何在使用 spring Maven 插件构建时包含空目录?

java - 关闭 RandomAccessFile 有时恰好需要 45 秒

java - 如何将此mongodb聚合命令转换为java代码