📄 pushmsg.java
字号:
package com.sox.test;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletContext;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.ServerContext;
import org.directwebremoting.ServerContextFactory;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.proxy.dwr.Util;
public class PushMsg extends Thread {
private ServletContext servletContext=null;
public PushMsg(ServletContext servletContext) {
this.servletContext = servletContext;
}
public void noticeNewOrder() {
ServerContext ctx = ServerContextFactory.get(servletContext);
System.out.println(ctx);
WebContext wctx = WebContextFactory.get();
if(ctx!=null){
Collection pages = ctx.getScriptSessionsByPage("/dwr2/push.jsp");
System.out.println(pages.size()+"---");
for (Iterator it = pages.iterator(); it.hasNext();){
ScriptSession session = (ScriptSession) it.next();
if(Calendar.getInstance().getTimeInMillis()-session.getLastAccessedTime()>5000){
session.invalidate();
}else{
Util ps = new Util(session);
ps.addFunctionCall("init",String.valueOf(Math.round(Math.random()*100)));
}
}
}
}
public void run() {
do {
try {
noticeNewOrder();
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
} while (true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -