zhouy пре 5 година
родитељ
комит
a6781c07a9

+ 5 - 3
pom.xml

@@ -180,10 +180,12 @@
 			</resource>
 
 			<!-- 某些情况下,打包后运行不起来需要打开注释 -->
-			<!-- <resource>
+			 <resource>
                 <directory>src/main/resources</directory>
-                <targetPath>BOOT-INF/classes/</targetPath>
-            </resource> -->
+               <!-- <targetPath>BOOT-INF/classes/</targetPath>-->
+            </resource>
+
+
 		</resources>
 
 	</build>

+ 35 - 0
src/main/java/com/uas/eis/core/config/AsyncConfig.java

@@ -0,0 +1,35 @@
+package com.uas.eis.core.config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+
+/**
+ * @Author: zhouy
+ * @Date: 2020/5/22 13:43
+ */
+@Configuration
+@EnableAsync  // 启用异步任务
+public class AsyncConfig{
+    // 声明一个线程池(并指定线程池的名字)
+    @Bean("taskExecutor")
+    public Executor asyncExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        //核心线程数10:线程池创建时候初始化的线程数
+        executor.setCorePoolSize(5);
+        //最大线程数20:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
+        executor.setMaxPoolSize(5);
+        //缓冲队列500:用来缓冲执行任务的队列
+        executor.setQueueCapacity(500);
+        //允许线程的空闲时间60秒:当超过了核心线程出之外的线程在空闲时间到达之后会被销毁
+        executor.setKeepAliveSeconds(60);
+        //线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
+        executor.setThreadNamePrefix("DailyAsync-");
+        //所有任务处理完毕开始关闭线程池
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.initialize();
+        return executor;
+    }
+}

+ 9 - 0
src/main/java/com/uas/eis/service/DataDealService.java

@@ -0,0 +1,9 @@
+package com.uas.eis.service;
+
+/**
+ * @Author: zhouy
+ * @Date: 2020/5/22 13:54
+ */
+public interface DataDealService {
+     void EDCDataDeal(String path);
+}

+ 30 - 0
src/main/java/com/uas/eis/serviceImpl/DataDealServiceImpl.java

@@ -0,0 +1,30 @@
+package com.uas.eis.serviceImpl;
+
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.service.DataDealService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: zhouy
+ * @Date: 2020/5/22 13:55
+ */
+@Service
+public class DataDealServiceImpl  implements DataDealService {
+
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    @Autowired
+    BaseDao baseDao;
+
+    @Override
+    @Async("taskExecutor")
+    public void EDCDataDeal(String path) {
+        System.out.println(path);
+
+
+    }
+}

+ 3 - 3
src/main/resources/application.yml

@@ -2,10 +2,10 @@ spring:
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: oracle.jdbc.OracleDriver
-        username: yunding
-        password: select!#%@$^
+        username: UAS_DEV
+        password: select!#%*(
 #        url: jdbc:oracle:thin:@oclean.uicp.net:1521:orcl
-        url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
+        url: jdbc:oracle:thin:@218.17.253.75:11521:orcl
         initialSize: 10
         maxActive: 80
         minIdle: 10

+ 6 - 4
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -1,6 +1,7 @@
 package com.uas.eis;
 
 import com.uas.eis.dao.BaseDao;
+import com.uas.eis.service.DataDealService;
 import com.uas.eis.service.SaleReturnService;
 import com.uas.eis.service.SaleService;
 import org.junit.Test;
@@ -10,7 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 @RunWith(SpringRunner.class)
-@SpringBootTest
+@SpringBootTest(classes = {UasEisApplication.class})
 public class UasEisApplicationTests {
 
 	@Autowired
@@ -18,13 +19,14 @@ public class UasEisApplicationTests {
 	@Autowired
 	private SaleReturnService SaleReturnService;
 	@Autowired
-	private BaseDao baseDao;
+	private DataDealService dataDealService;
 
 
 	@Test
 	public void contextLoads() {
-		SaleReturnService.getSaleReturn();
-
+		for(int i =0 ; i<10000 ;i++){
+			dataDealService.EDCDataDeal("helo"+i);
+		}
 
 	}