/**
|
* Copyright © 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
*/
|
package com.jeeplus.common.websocket;
|
|
import java.io.IOException;
|
import java.net.UnknownHostException;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.Timer;
|
import java.util.TimerTask;
|
|
import javax.servlet.Filter;
|
import javax.servlet.FilterChain;
|
import javax.servlet.FilterConfig;
|
import javax.servlet.ServletException;
|
import javax.servlet.ServletRequest;
|
import javax.servlet.ServletResponse;
|
|
import org.java_websocket.WebSocketImpl;
|
|
import com.jeeplus.common.websocket.onchat.ChatServer;
|
|
|
|
public class WebSockertFilter implements Filter{
|
|
|
|
|
/**
|
* 初始化
|
*/
|
public void init(FilterConfig fc) throws ServletException {
|
this.startWebsocketChatServer();
|
// this.startWebsocketOnline();
|
}
|
|
/**
|
* 启动即时聊天服务
|
*/
|
public void startWebsocketChatServer(){
|
WebSocketImpl.DEBUG = false;
|
ChatServer s;
|
try {
|
s = new ChatServer(8668);
|
s.start();
|
System.out.println( "websocket服务器启动,端口" + s.getPort() );
|
} catch (UnknownHostException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
|
//计时器
|
public void timer() {
|
Calendar calendar = Calendar.getInstance();
|
calendar.set(Calendar.HOUR_OF_DAY, 9); // 控制时
|
calendar.set(Calendar.MINUTE, 0); // 控制分
|
calendar.set(Calendar.SECOND, 0); // 控制秒
|
|
Date time = calendar.getTime(); // 得出执行任务的时间
|
|
Timer timer = new Timer();
|
timer.scheduleAtFixedRate(new TimerTask() {
|
public void run() {
|
|
//PersonService personService = (PersonService)ApplicationContext.getBean("personService");
|
|
|
//System.out.println("-------设定要指定任务--------");
|
}
|
}, time, 1000*60*60*24);// 这里设定将延时每天固定执行
|
}
|
|
|
public void destroy() {
|
// TODO Auto-generated method stub
|
|
}
|
|
|
public void doFilter(ServletRequest arg0, ServletResponse arg1,
|
FilterChain arg2) throws IOException, ServletException {
|
// TODO Auto-generated method stub
|
|
}
|
|
|
}
|