然后定义一个component组件,然后线程的引用就十分简单了,只要把这个线程扔进这个线程池子就行了
package com.digitalpublishing.sage.service.impl;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;import org.springframework.stereotype.Component;import com.digitalpublishing.module.sage.PJournal;
import com.digitalpublishing.sage.dao.AcLogCounterWebMapper;/**
* @ClassName: CounterWebJr1
* @Description: webJr1统计数据查询
* @author wd
* @date 2018年12月26日 上午9:22:20
*
*/
@Component
public class CounterWebJr1 implements Callable< ArrayList
最后在你所需要的地方就可以调用这个组件了,不论是service还是controller都行
List>> results = new ArrayList>>(10);
List> splitList = ListUtils.averageAssign(journalList, 10);
for (List list : splitList) {CounterWebJr1 ct = new CounterWebJr1();ct.setAcLogCounterWebMapper(acLogCounterWebMapper);ct.setAccountId(accountId);ct.setDateHeader(dateHeader);ct.setStartTime(startTime);ct.setEndTime(endTime);ct.setJournalList(list);Future> future = threadPoolTaskExecutor.submit(ct);results.add(future);
}for (Future> future : results) {ArrayList arrayList = future.get();rows.addAll(arrayList);
}
转载于:https://www.cnblogs.com/miye/p/9870828.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!