启动tomcat 同时启动一个socket服务

现状:在项目中,需要使用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服务,亲测有效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章