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中执行长久循环操作的解决方案:创建新线程的主要内容,如果未能解决你的问题,请参考以下文章

jfinal定时任务插件jfinal-quartz

JFinal

JFinal视频教程

JFinal教程

jfinal相关

JFinal-02-JFinalConfig