背景
Zookeeper中定义了SessionTracker
接口用于管理Session
实现
由于将会话管理的实现代码抽象为ExpiryQueue
,而ExpiryQueue
的分析见:https://blog.youkuaiyun.com/jpf254/article/details/80800626
SessionTrackerImpl
实现了SessionTracker
,同时也继承了Thread
,也是一个线程.其run()
与NIOServerCnxnFactory.ConnectionExpirerThread.run()
类似,代码如下:
@Override
public void run() {
try {
while (running) {
long waitTime = sessionExpiryQueue.getWaitTime();