comet4j取不到map值

问题描述

packagecom.sec.comet4j;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importorg.comet4j.core.CometConnection;importorg.comet4j.core.CometContext;importorg.comet4j.core.CometEngine;importorg.comet4j.core.event.ConnectEvent;importorg.comet4j.core.listener.ConnectListener;publicclassHelloWorldextendsConnectListenerimplementsServletContextListener{privatestaticfinalStringCHANNEL="hello";Map<String,String>map=newHashMap<String,String>();;CometContextcometContext=CometContext.getInstance();publicvoidcontextInitialized(ServletContextEventarg0){CometContextcc=CometContext.getInstance();cc.registChannel(CHANNEL);ThreadhelloAppModule=newThread(newHelloAppModule(),"SenderAppModule");helloAppModule.setDaemon(true);CometEngineengine=cometContext.getEngine();engine.addConnectListener(newHelloWorld());helloAppModule.start();}classHelloAppModuleimplementsRunnable{CometEngineengine=cometContext.getEngine();publicvoidrun(){while(true){try{Thread.sleep(1000);}catch(Exceptionex){ex.printStackTrace();}Stringout=(String)cometContext.getServletContext().getAttribute("out");List<CometConnection>connections=engine.getConnections();System.out.println(map.size()+"集合的大小");engine.sendTo(CHANNEL,connections,"");engine.sendToAll(CHANNEL,out);if(connections.size()>=1){cometContext.getServletContext().removeAttribute("out");}}}}publicvoidcontextDestroyed(ServletContextEventarg0){}publicbooleanhandleEvent(ConnectEventarg0){System.out.println("进入监听器");//TODOAuto-generatedmethodstubSystem.out.println(cometContext.getServletContext().getAttribute("usersName"));System.out.println(arg0.getConn().getId());map.put((String)cometContext.getServletContext().getAttribute("usersName"),arg0.getConn().getId());(这里在后台已经拿到值了,在这也put进去了,但是在上边判断集合大小时总是为0,为啥呢)returntrue;}}

时间: 2024-09-24 15:03:16

comet4j取不到map值的相关文章

java-怎么将map 值取出来,处理后再放回去?

问题描述 怎么将map 值取出来,处理后再放回去? public Model listAreaActoin(@RequestParam Map reqs){ } 中 reqs的值是{format=json, t=1441427827088, STARTNUM=1300007, ENDNUM=1300009, pageindex=1, pagesize=10} 怎么把STARTNUM=1300007, ENDNUM=1300009值取出来 让STARTNUM值加1,ENDNUM的值减1.然后再放回

el表达式取hashmap中的值

问题描述 el表达式取hashmap中的值 我在hashmap中有一个hashmap,现在我想在jsp中用el表达式取到hashmap集合中的hashmap里的值,请问怎么实现 解决方案 EL表达式取Map中的值 解决方案二: ${hashmap.hashmap.key}

ynamic ata isplay-求帮忙 DynamicDataDisplay如何做两条和y轴平行的直线,并且可以取点上的值

问题描述 求帮忙 DynamicDataDisplay如何做两条和y轴平行的直线,并且可以取点上的值 DynamicDataDisplay如何做两条和y轴平行的直线,并且可以取点上的值

asp 正则取href标签的值

function urlcontent(strHTML)   Set objRegExp = New Regexp   objRegExp.IgnoreCase = True   objRegExp.Global = True   objRegExp.Pattern =  "<a.+?href=""(.+?)""[^\>]*>.+?</a>"   urlcontent=objRegExp.replace(strHTM

关于asp.net的验证控件,为什么后台只能取到true的值

问题描述 关于asp.net的验证控件,为什么后台只能取到true的值 不能取到False,验证控件在前台的提示到是正常的,验证不过都能重复显示出错提示 我就放了两个验证控件 然后后台一个Button事件里就写上了 Response.Write("alert('"+Page.IsValid.ToString()+"')"); 用RegularExpressionValidator.IsValid也一样,只能取到True 加上Page.Validate()也没什么用.

sql-SQL筛选取多个字段值语法

问题描述 SQL筛选取多个字段值语法 trans表 date room transcode amount 2015-05-11 711 1 298 2015-05-10 421 2 398 2015-05-08 711 1 298 2015-05-09 601 1 298 2015-05-10 622 2 498 2015-05-10 501 2 368 2015-05-11 711 1 298 2015-05-09 431 2 238 查询结果: date room transcode amo

swift语言的如何取多个枚举值

问题描述 swift语言的如何取多个枚举值 Objective-C语言的 self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight 用Swift语言如何编写 解决方案 这个是按位与,不可能不支持啊 解决方案二: swift不支持这种与操作,具体解决办法有两种,我的这边博文有具体说明http://blog.csdn.net/poppin_category/artic

struts2.0-Struts2跳转404,能正确取到页面的值

问题描述 Struts2跳转404,能正确取到页面的值 我访问 http://localhost:8080/Struts2pakaging/index.jsp 点击提交后跳转到 http://localhost:8080/Struts2pakaging/attribute.action 此时打印出我输入的用户名和密码 到这里是没有问题的,但是return之后就报错了 解决方案 http://rainbow702.iteye.com/blog/2227847 解决方案二: 说明你的index.js

对“消息”按32位异或,对异或结果取反后的值为校验和。

问题描述 对"消息"按32位异或,对异或结果取反后的值为校验和.请问:1什么叫按32为异或?2怎么对异或结果取反呢?谢谢回答!急,在线等待!**********************************************email&msn:xingtaisen@126.comQQ:654179816********************************************** 解决方案 解决方案二:1什么叫按32为异或?32位二进制位,每位相异得1,相