gpt4 book ai didi

ignite - 如何在拓扑无效时禁用对 ignite 缓存的所有操作

转载 作者:行者123 更新时间:2023-12-04 09:35:59 27 4
gpt4 key购买 nike

我有 2 个服务器节点和一个客户端节点。我正在使用 TopologyValidator 来验证拓扑。
如果任何服务器节点离开集群,我想禁用所有操作。 TopologyValidator 仅禁用更新操作而不禁用获取操作。你能帮我做这个吗?

最佳答案

当前 TopologyValidator 仅禁用更新操作。
您可以使用 IgniteCache#close() 操作来禁用对特定缓存的所有操作。
见:https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/IgniteCache.html#close--
如果您执行以下操作:

        IgniteCache cache = ignite.getOrCreateCache(config);
cache.put(1L , new Person(1L, "A", "B"));
cache.close();
System.out.println(cache.get(1L)); //exception here.
你会得到以下 get 调用异常 :
[INFO ][exchange-worker-#43%node1%][GridCacheProcessor] Finish proxy initialization, cacheName=test1, localNodeId=...
Exception in thread "main" java.lang.IllegalStateException: Cache has been closed: test1
at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.checkProxyIsValid(GatewayProtectedCacheProxy.java:1548)
at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.onEnter(GatewayProtectedCacheProxy.java:1580)
at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.get(GatewayProtectedCacheProxy.java:634)

关于ignite - 如何在拓扑无效时禁用对 ignite 缓存的所有操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62582551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com