Java 西罗+;ehcache&x2B;复制:未复制登录和注销

Java 西罗+;ehcache&x2B;复制:未复制登录和注销,java,ehcache,shiro,Java,Ehcache,Shiro,我们的web应用程序正在使用shiro进行身份验证。我们将会话存储在EHCache中,由文件存储支持,并使用复制来确保所有web服务器都有所有会话。我们使用的是对等复制,而不是多播配置。大多数情况下,事情似乎都很顺利。但是,登录或注销将不被复制 我们将看到stacktraces,但以下情况除外: org.apache.shiro.session.UnknownSessionException:没有id为[dc996ea4-daff-431f-946b-6a5a214f9477]的会话 如果文件不

我们的web应用程序正在使用shiro进行身份验证。我们将会话存储在EHCache中,由文件存储支持,并使用复制来确保所有web服务器都有所有会话。我们使用的是对等复制,而不是多播配置。大多数情况下,事情似乎都很顺利。但是,登录或注销将不被复制

我们将看到stacktraces,但以下情况除外: org.apache.shiro.session.UnknownSessionException:没有id为[dc996ea4-daff-431f-946b-6a5a214f9477]的会话

如果文件不同步,它将保持不同步


有人对我们为什么会看到这种行为有什么建议吗?

坦率地说,我会尝试完全摆脱点对点复制……因为它有可能出现竞争条件和并发异常,这可能解释您随机丢失条目的原因。我将转向使用Bigmemory Max的更健壮的分布式缓存解决方案,该解决方案最多可用于4个客户端+4GB内存存储()


编辑-仅供参考,BigMemory Max仍然是ehcache…它只是一个“分布式ehcache”,具有额外的“堆外”内存功能…

坦率地说,我会尝试完全摆脱点对点复制…因为它可能存在竞争条件和并发异常,这可能会解释您随机丢失的条目。我将转向使用Bigmemory Max的更健壮的分布式缓存解决方案,该解决方案最多可用于4个客户端+4GB内存存储()


编辑-仅供参考,BigMemory Max仍然是ehcache…它只是一个“分布式ehcache”,具有额外的“堆外”内存功能…

您对此有更深入的日志吗?(即ehcache异常等)。例如,它可能会触发ConcurrentModificationException,这在以前的点对点复制中已被注意到……您对此有更深入的日志吗?(即ehcache异常等)。例如,它可能会触发ConcurrentModificationException,这在以前的点对点复制中已被注意到。。。