comet4j取不到map值

黄啊码
博客专家认证
2013-12-15 05:28:16
package com.sec.comet4j;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.comet4j.core.CometConnection;
import org.comet4j.core.CometContext;
import org.comet4j.core.CometEngine;
import org.comet4j.core.event.ConnectEvent;
import org.comet4j.core.listener.ConnectListener;

public class HelloWorld extends ConnectListener implements
ServletContextListener {
private static final String CHANNEL = "hello";
Map<String, String> map = new HashMap<String, String>();;
CometContext cometContext = CometContext.getInstance();

public void contextInitialized(ServletContextEvent arg0) {
CometContext cc = CometContext.getInstance();
cc.registChannel(CHANNEL);
Thread helloAppModule = new Thread(new HelloAppModule(),
"Sender App Module");
helloAppModule.setDaemon(true);
CometEngine engine = cometContext.getEngine();
engine.addConnectListener(new HelloWorld());
helloAppModule.start();

}

class HelloAppModule implements Runnable {
CometEngine engine = cometContext.getEngine();

public void run() {
while (true) {
try {
Thread.sleep(1000);
} catch (Exception ex) {
ex.printStackTrace();
}
String out = (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");
}
}
}
}

public void contextDestroyed(ServletContextEvent arg0) {
}

public boolean handleEvent(ConnectEvent arg0) {
System.out.println("进入监听器");
// TODO Auto-generated method stub
System.out.println(cometContext.getServletContext().getAttribute(
"usersName"));
System.out.println(arg0.getConn().getId());
map.put((String) cometContext.getServletContext().getAttribute(
"usersName"), arg0.getConn().getId());
(这里在后台已经拿到值了,在这也put进去了,但是在上边判断集合大小时总是为0,为啥呢)
return true;
}

}
...全文
100 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧