ソースを参照

任务执行队列,采用Poll(Timeout)方式;

xueli.xue 9 年 前
コミット
f7ff804739
共有1 個のファイルを変更した2 個の追加1 個の削除を含む
  1. 2 1
      xxl-job-core/src/main/java/com/xxl/job/core/handler/HandlerThread.java

+ 2 - 1
xxl-job-core/src/main/java/com/xxl/job/core/handler/HandlerThread.java ファイルの表示

@@ -13,6 +13,7 @@ import java.io.StringWriter;
13 13
 import java.util.HashMap;
14 14
 import java.util.Map;
15 15
 import java.util.concurrent.LinkedBlockingQueue;
16
+import java.util.concurrent.TimeUnit;
16 17
 
17 18
 /**
18 19
  * handler thread
@@ -55,7 +56,7 @@ public class HandlerThread extends Thread{
55 56
 	public void run() {
56 57
 		while(!toStop){
57 58
 			try {
58
-				Map<String, String> handlerData = handlerDataQueue.take();
59
+				Map<String, String> handlerData = handlerDataQueue.poll(3L, TimeUnit.SECONDS);
59 60
 				if (handlerData!=null) {
60 61
 					i= 0;
61 62
 					String log_address = handlerData.get(HandlerParamEnum.LOG_ADDRESS.name());