我发现,当我通过调试器连接到应用程序并开始调试时,与兵马俑服务器的连接丢失(?),并且兵马俑服务器日志中出现下一条消息:
2012-03-30 13:45:06,758 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl。DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:1 2012-03-30 13:45:27,761 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl。DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:1 2012-03-30 13:45:31,761 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl。DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:2
...
2012-03-30 13:46:37,768 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] 错误 com.tc.net.protocol.transport.ConnectionHealthChecke rImpl。DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:10。但它太长了。不再重试 2012-03-30 13:46:38,768 [HealthChecker] INFO com.tc.net.protocol.transport.ConnectionHealthCheckerImpl。DSO 服务器 - 127.0.0.1:55112 已失效 2012-03-30 13:46:38,768 [HealthChecker] 错误 com.tc.net.protocol.transport.ConnectionHealthCheckerImpl: DSO 服务器 - 声明连接失效 ConnectionID(1.0b1994ac80f14b7191080bdc3f38582a) 空闲时间 45317 2012-03-30 13:46:38,768 [L2_L1:TCWorkerComm # 0_R] 警告 com.tc.net.protocol.transport.ServerMessageTransport - ConnectionID(1.0b1994ac80f14b71 91080bdc3f38582a):关闭事件:com.tc.net.core。TCConnectionJDK14@5158277:已连接:false,已关闭:true local=127.0.0.1:9510 remote=127.0.0 .1:55112 connect=[Fri Mar 30 13:34:22 BST 2012] idle=2001ms [207584 读取,229735 写入]。状态:已断开连接
...
2012-03-30 13:46:38,799 [L2_L1:TCWorkerComm # 0_R] INFO com.tc.objectserver.persistence.sleepycat.SleepycatPersistor - ChannelID = [1] 的已删除客户端状态 2012-03-30 13:46:38,801 [WorkerThread(channel_life_cycle_stage, 0)] INFO com.tc.objectserver.handler.ChannelLifeCycleHandler - : 收到 tran 运动断开连接。关闭客户端 ClientID[1] 2012-03-30 13:46:38,801 [WorkerThread(channel_life_cycle_stage, 0)] 信息 com.tc.objectserver.persistence.impl.TransactionStoreImpl - shutdownC lient():从 DB 中删除 txns:0
发生这种情况后,任何带有缓存的操作,就像getWithLoader
只是不响应,直到兵马俑服务器不会再次重新启动。
问题:如何修复/重新配置?我认为,如果由于某种(任何)原因应用程序将挂起/过时/等,它也可能在生产中发生(实际上有时会发生)。