多线程

来源:互联网 发布:php怎么接私活 编辑:程序博客网 时间:2024/06/05 03:41
   @Autowired

    ProductDao productDao;


    private static ExecutorService threadExecutor = Executors
            .newFixedThreadPool(10);

    public void updateProductSzg(int page, int pageSize) {
        List<SzgProduct> product = null;
        try {
            product = productDao.findProductSzgByList(page, pageSize);
            if (product == null || product.size() == 0) {
                logger.info("don't have  any orders to  update");
            } else {
                threadExecutor.submit(new ProductTask(product, productDao));
            }
        } catch (Exception e) {
            logger.error("分页获取MySQL商品数据列表失败" + e);
        }

    }



@Component
public class ProductTask implements Runnable {

    private List<SzgProduct> productList;// Orcle
    ProductDao productDao;
    private Logger logger = Logger.getLogger(this.getClass());

    public ProductTask(List<SzgProduct> product, ProductDao productDao) {
        this.setProductList(product);
        this.productDao = productDao;
    }

    public ProductTask() {

    }

    @Override
    public void run() {
        try {
            productDao.updateProductSzg(productList);
        } catch (Exception e) {
            logger.error("闪掌柜商品更新状态失败" + e);
        }
    }

    public List<SzgProduct> getProductList() {
        return productList;
    }

    public void setProductList(List<SzgProduct> productList) {
        this.productList = productList;
    }

}


0 0
原创粉丝点击