소스 검색

Merge remote-tracking branch 'origin/anjc' into anjc

zhouy 1 년 전
부모
커밋
ccdbf6d3cc
2개의 변경된 파일32개의 추가작업 그리고 4개의 파일을 삭제
  1. 1 1
      src/main/java/com/uas/eis/task/InventoryTask.java
  2. 31 3
      src/test/java/com/uas/eis/UasEisApplicationTests.java

+ 1 - 1
src/main/java/com/uas/eis/task/InventoryTask.java

@@ -67,7 +67,7 @@ public class InventoryTask extends BaseTask{
                 baseDao.execute("insert into dockinglog(id_,date_,type_,result_,Info_) " +
                         " values(dockinglog_seq.nextval,sysdate,'Inventory','FAILED','"+ e.getMessage()+"')");
             }
-            baseDao.execute("insert into dockinglog(id_,date_,type_,result_,Info_) values(dockinglog_seq.nextval,sysdate,'SALEOUT','SUCCEED','条数:"+n+"')");
+            baseDao.execute("insert into dockinglog(id_,date_,type_,result_,Info_) values(dockinglog_seq.nextval,sysdate,'INVENTORY','SUCCEED','条数:"+n+"')");
         }
         /*else{
             logger.info("InventoryTask 无数据变更,无须对接 ");

+ 31 - 3
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -2,6 +2,7 @@ package com.uas.eis;
 
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.task.*;
+import javafx.concurrent.ScheduledService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.concurrent.*;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = {UasEisApplication.class})
@@ -32,9 +34,35 @@ public class UasEisApplicationTests {
 		//订单下载对接
 		System.out.println("test");
 		System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
-		Object ob=baseDao.getFieldDataByCondition("enterprise","EN_WHICHSYSTEM","1=1");
-		System.out.println(ob);
-		saleDownLoadTask.execute();
+		Object ob = baseDao.getFieldDataByCondition("enterprise", "EN_WHICHSYSTEM", "1=1");
+
+
+		// 创建一个线程池,具有一个线程
+		ExecutorService executor = Executors.newSingleThreadExecutor();
+
+		// 定义一个耗时的任务
+		Callable<String> task = () -> {
+			Thread.sleep(5000); // 模拟耗时操作
+			saleDownLoadTask.execute();
+			return "Task completed";
+		};
+		Future<String> future = null;
+		try {
+			// 提交任务并设置超时时间为2秒
+			future = executor.submit(task);
+			String result = future.get(2, TimeUnit.SECONDS); // 获取结果,最多等待2秒
+			System.out.println(result);
+		} catch (TimeoutException e) {
+			// 超时异常处理
+			System.out.println("Task timed out");
+			future.cancel(true); // 尝试取消正在执行的任务
+		} catch (InterruptedException | ExecutionException e) {
+			// 其他异常处理
+			e.printStackTrace();
+		} finally {
+			// 关闭线程池
+			executor.shutdownNow();
+		}
 	}
 	@Test
 	public void Test1() {