我有一个利用以下堆栈的独立应用程序: 休眠 5.6 无限期 13.0.15 JGroups 4.2.22
我正在使用 Infinispan 作为 Hibernate 的二级缓存——我注意到当我启动第二个应用程序节点时出现以下错误:
ISPN000136:在缓存“clientDeviceNotificationTimeRangeCache”上执行命令 ReadWriteKeyCommand 时出错,写入密钥 [com.xxx.ClientDeviceNotificationTimeRangeVO#ClientDeviceNotificationTimeRangePrimaryKey [clientId=5041,dayOfWeek=1]]| java.util.NoSuchElementException:没有值存在
这会导致主节点抛出伴随错误:
org.infinispan.util.concurrent.TimeoutException:ISPN000299:0 毫秒后无法获取密钥 com.xxx.ClientDeviceNotificationTimeRangeVO#ClientDeviceNotificationTimeRangePrimaryKey [clientId=5041,dayOfWeek=5] 和请求者 CommandInvocation:localhost-54954:4420 的锁定。锁由 null
持有似乎在辅助节点实际完全启动并可用之前,缓存正在将对象复制到辅助节点——奇怪的是,这在 8.0 系列中运行得非常好。我可能在这里忽略了任何明显的事情吗?我忽略了一些新设置或标志?我在这里看到的唯一奇怪的地方是什么为密钥设置了 0 毫秒的锁定超时?这似乎不对..