📄 tasktest.java
字号:
package cn.myapps.core.task.ejb;
import java.util.Calendar;
import junit.framework.TestCase;
import cn.myapps.base.dao.PersistenceUtils;
import cn.myapps.base.dao.SessionSignal;
import cn.myapps.core.macro.runner.JavaScriptRunner;
import cn.myapps.util.sequence.Sequence;
public class TaskTest extends TestCase{
public void testTaskRunning() throws Exception {
Calendar c = Calendar.getInstance();
for (int i = 0; i < 100; i++) {
Task task = new Task();
task.setId(Sequence.getSequence());
task.setPeriod(TaskConstants.REPEAT_TYPE_DAILY);
c.roll(Calendar.SECOND, 50);
task.setRunningTime(c.getTime());
// task.setRunningTime(new Date());
task.setType(TaskConstants.TASK_TYPE_SCRIPT);
task.setName(i+"");
task
.setTaskScript("var v="
+ i
+ ";java.lang.System.out.print('v='+v);"
+
"for(var n=0;n<10000;n++);java.lang.System.out.println('-->'+v);");
Thread t = new TestThread(task) ;
t.setName("ThreadName:"+i);
t.start();
}
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
TaskTest test = new TaskTest();test.
testTaskRunning();
}
}
class TestThread extends Thread {
Task task;
TestThread(Task task) {
this.task = task;
}
public void run() {
while(true) {
// 符合停止条件则停止
try {
if (task.isExpired()) {
SessionSignal signal = PersistenceUtils
.getSessionSignal();
// signal.sessionSignal++;
try {
task.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
// signal.sessionSignal--;
// if (signal.sessionSignal <= 0) {
try {
PersistenceUtils.closeSession();
JavaScriptRunner.clear();
} catch (Exception e) {
}
// }
}
}
sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -