zookeeper之生成sessionId<十四>

在建立会话的请求中,获取sessionId的方法是sessionTracker的createSession方法。在服务器启动的时候,会初始化sessionTracker,同时会初始化基准sessionId,随后在这个基准上递增(文字不够,截图来凑)

165343_3ZOg_2277632.png

165417_P07L_2277632.png

还不知道为什么要这么做?

165812_Uy86_2277632.png

 

long sessionId = sessionTracker.createSession(timeout);

在获取sessionID这边加了一个同步锁,增加了nextSessionId后,对nextSessionId+1,

164346_qXSY_2277632.png

然后就是把id加入sessionWithTimeout和sessionById中。

170452_wcbZ_2277632.png

最后做了一个touchSession操作,放入sessionSets中,然后接下去就到昨天的 事务处理,事务应用,会话响应啦

170909_igQA_2277632.png

SessionTracker接口中的主要方法 

171545_tQSl_2277632.png

173328_BJbw_2277632.png

 

转载于:https://my.oschina.net/u/2277632/blog/1546642

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值