永发信息网

zookeeper sessiontimeout 多少

答案:2  悬赏:0  手机版
解决时间 2021-02-07 09:47
zookeeper sessiontimeout 多少
最佳答案
不是600秒,是600分钟,改时间长点当然可以。出现错误,应该不是这里的问题,你再发一下错误提示默认timeout是20
全部回答
zookeeper中session意味着一个物理连接,客户端连接服务器成功之后,会发送一个连接型请求,此时就会有session 产生。 session由sessiontracker产生的,sessiontracker的实现有 sessiontrackerimpl,localsessiontracker,leadersessiontracker(leader),learnersessiontracker(follow and oberser)四种实现。它们的分支由各自的zookeeperserver.startup()开始。 1.sessiontrackerimpl 标准zookeeperserver的实现 public synchronized void startup() { if (sessiontracker == null) { createsessiontracker(); } startsessiontracker(); setuprequestprocessors(); registerjmx(); state = state.running; notifyall(); } 其实现由sessiontrackerimpl来实现,其官方说明 protected void createsessiontracker() { sessiontracker = new sessiontrackerimpl(this, zkdb.getsessionwithtimeouts(), ticktime, 1, getzookeeperserverlistener()); } protected void startsessiontracker() { ((sessiontrackerimpl)sessiontracker).start(); } sessiontrackerimpl是一个线程,其run方法是真实逻辑: @override public void run() { try { while (running) { long waittime = sessionexpiryqueue.getwaittime(); if (waittime > 0) { thread.sleep(waittime); continue; } for (sessionimpl s : sessionexpiryqueue.poll()) { setsessionclosing(s.sessionid); expirer.expire(s); } } } catch (interruptedexception e) { handleexception(this.getname(), e); } log.info("sessiontrackerimpl exited loop!"); } sessiontrackerimpl实现了session的各种操作:创建session,检测session,删除session等。我们以增加session为例,看一下session机制: public long createsession(int sessiontimeout) { long sessionid = nextsessionid.getandincrement(); addsession(sessionid, sessiontimeout); return sessionid; } public synchronized boolean addsession(long id, int sessiontimeout) { sessionswithtimeout.put(id, sessiontimeout); boolean added = false; sessionimpl session = sessionsbyid.get(id); if (session == null){ session = new sessionimpl(id, sessiontimeout); } // findbugs2.0.3 complains about get after put. // long term strategy would be use computeifabsent after jdk 1.8 sessionimpl existedsession = sessionsbyid.putifabsent(id, session); if (existedsession != null) { session = existedsession; } else { added = true; log.debug("adding session 0x" + long.tohexstring(id)); } if (log.istraceenabled()) { string actionstr = added ? "adding" : "existing"; zootrace.logtracemessage(log, zootrace.session_trace_mask, "sessiontrackerimpl --- " + actionstr + " session 0x" + long.tohexstring(id) + " " + sessiontimeout); } updatesessionexpiry(session, sessiontimeout); return added; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
魔术教室地址好找么,我有些事要过去
私人飞机的停机费多少钱
天才宝宝幼儿园在什么地方啊,我要过去处理事
玫瑰花语鲜花(西四路店)地址在什么地方,我要
透真玻尿酸多效保湿蚕丝面膜怎么用
大连人民帮帮忙啊!中山区秀月桥在哪呀 ?
北安市第一人民医院司法鉴定所在什么地方啊,
已知A,B都是锐角,SinA=1/7,Sin(A—B)=—11/14
如何买到高性价比的波尔多葡萄酒
鸿运花店地址有知道的么?有点事想过去
29岁 本科 学的是财务管理 有经验 在成都找的
富力·丹麦小镇D区南门在什么地方啊,我要过
请问从汕头去香港国际机场怎么走最方便且便宜
森林奇境地址在哪,我要去那里办事
衣品坊在什么地方啊,我要过去处理事情
推荐资讯
金万维的免费域名可以用多久?
狗狗腿摔破皮了,没什么大事,可以带它出去吗
一部动画连续剧开头是两个神仙在下棋 棋子是
下图表示某生态系统中的3种生物的二氧化碳消
吉林省锦奕汽车经销有限公司地址在哪,我要去
芊好阁专业养生馆在什么地方啊,我要过去处理
瑞琪家纺地址在什么地方,想过去办事
苹果手机支付宝可以用支付公交卡充值吗
与“法者天下之公器,变者天下之公理”这一观
【数学小文章】关于数学的小故事一些有趣的文
什么亲子活动对孩子成才最重要性
净水器是十级的有哪些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?