1、写一个自己得Thread继承Thread 注意:调用addmaterial()得时候 不能注入 只能new 才能调用到 具体没研究 先满足你们得功能使用吧 public class AddmaterialThread extends Thread { @Override public void run() { // 主服务启动,开始调用方法 监听获取节点消息 new AddmaterialServer().addmaterial(); } }
2、写一个监听 继承ServletContextListener 注意:一定要加@Component注解,要不扫描不到
import org.springframework.stereotype.Component; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;
@Component public class AddmaterialListener implements ServletContextListener { private AddmaterialThread addmaterialThread; @Override public void contextDestroyed(ServletContextEvent e) { if (addmaterialThread != null && addmaterialThread.isInterrupted()) { addmaterialThread.interrupt(); } } @Override public void contextInitialized(ServletContextEvent e) { String str = null; if (str == null && addmaterialThread == null) { addmaterialThread = new AddmaterialThread(); addmaterialThread.start(); // servlet 上下文初始化时启动 socket } }
3、具体得业务逻辑方法书写
public class AddmaterialServer { public void addmaterial(){ System.out.println("=========主线程启动,开始调用辅料添加主线程方法============"); } }