简单的通过线程池调用线程方法
import com.shxp.project.common.entity.ActionResult;
import com.shxp.project.etl.model.vo.Etlsave;
import com.shxp.project.etl.service.EtlService;
import org.springframework.stereotype.Service;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Service
public class EtlServiceImpl implements EtlService {
/**创建线程池*/
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
@Override
public ActionResult saveEtlInfo(Etlsave etlsave) {
// 调用线程
fixedThreadPool.execute(new impDataTaskThread(etlsave));
// 其他业务逻辑
return new ActionResult().success("");
}
/**
* 方法名:解析数据入库线程
* 备注:
*/
public class impDataTaskThread implements Runnable {
private Etlsave etlsave = null;
private impDataTaskThread(Etlsave etl) {
etlsave = etl;
}
@Override
public void run() {
try {
// 数据入库业务逻辑
} catch (Exception e) {
e.printStackTrace();
}
}
}
}