java - 点燃缓存错误

标签 java spring caching ignite

我们正在使用 Apache Ignite 进行缓存,在测试期间我遇到了这个错误

java.lang.IllegalStateException: 缓存已关闭或销毁

我们有一个 Spring Restful 客户端,里面嵌入了 IGNITE。调用来更新和从缓存中删除。

发生的步骤如下

  1. 一个正在运行的 Ignite 服务器实例。
  2. 一个在不同服务器上运行的 Restful 客户端实例 点燃嵌入式。
  3. 杀死 Ignite 服务器实例,客户端仍在运行
  4. Ignite 服务器重新启动。
  5. 客户端将值放入缓存的任何尝试都会导致上述情况 异常(exception)。
  6. 如果客户端重新启动一切正常

有人可以就发生这种情况的原因提出一些见解吗?我是否必须处理所有节点离开的事件并手动驱逐缓存或其他东西。

感谢任何帮助

最佳答案

万一所有服务器都宕机了,客户端会用一个新的 ID 重新加入(就像你手动重启它一样)。在这种情况下,所有现有的缓存实例都将关闭,您必须获取新的缓存实例(使用 Ignite.cache(...) 方法)。

有一张票可以改善这种行为:https://issues.apache.org/jira/browse/IGNITE-2766

关于java - 点燃缓存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805298/

相关文章:

ruby-on-rails - Rails redis缓存存储大小

Java网络编程

javascript - 自动重命名文件夹 alfresco

java - 尝试获取 ftl 模板时未找到文件异常

java - Spring RESTful 服务作为 WAR 而不是 Tomcat 中的 JAR

java - Spring自动默认定义bean(无需组件扫描)

java - 无法将一个 Spring Boot 应用程序导入到另一个 Spring Boot 应用程序中

java - 如何配置 Bean 原型(prototype)范围提供程序以在 Bean 创建时使用 session 信息?

php - ob_start 缓存 CSS

sql - 缓存 SQL 查询