现状:在项目中,需要使用socket服务,来完成一个功能
目的:在启动tomcat服务器的时候,同时启动socket服务
共需要两步:
第一步:写一个类,实现ServletContextListener接口
import org.springframework.stereotype.Component;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
@Component
public class SocketServiceLoader implements ServletContextListener {
private SocketThread socketThread;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
if(null!=socketThread && !socketThread.isInterrupted())
{
socketThread.closeSocketServer();
socketThread.interrupt();
}
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
if (null == socketThread) {
//新建线程类
System.out.println("ppp");
socketThread = new SocketThread(null);
//启动线程
socketThread.start();
}
}
}
第二步:在web.xml中配置监听器
<listener>
<listener-class>
com.smh.sys.Utils.SocketServiceLoader
</listener-class>
</listener>
完成以上两步,则启动的时候,就能启动socket服务,亲测有效