jfinal afterJFinalStart中执行长久循环操作的解决方案:创建新线程
Posted 向_日_葵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jfinal afterJFinalStart中执行长久循环操作的解决方案:创建新线程相关的知识,希望对你有一定的参考价值。
很多时候,需要在jfinal中afterJFinalStart方法中,写一些需要一直循环运行的程序,做一些循环操作。但是在afterJFinalStart中,执行时间过长的话,会导致整个站点启动超时。
解决方案是,新建一个新的线程,在afterJFinalStart中启动即可:
1 package com.thread; 2 3 import com.activeMQ.ActiveMQHelper; 4 import com.demo.testSpring.Animal; 5 6 /** 7 * 新创建线程,用于接受消息,并对应操作 8 * @author czg 9 * 10 */ 11 public class worker extends Thread{ 12 13 public void run() { 14 String msg; 15 ActiveMQHelper activeMQHelper=new ActiveMQHelper("tcp://localhost:61616?wireFormat.maxInactivityDuration=0",2000); 16 17 while(true){ 18 msg=activeMQHelper.receiveMessage("hello"); 19 if(!msg.equals("EOF")) System.out.println(msg); 20 21 } 22 } 23 }
1 @Override 2 public void afterJFinalStart(){ 3 4 Thread workerThread = new Thread(new com.thread.worker()); 5 workerThread.start(); 6 }
以上是关于jfinal afterJFinalStart中执行长久循环操作的解决方案:创建新线程的主要内容,如果未能解决你的问题,请参考以下文章