Spring中Aware,延迟执行线程池

Aware相关接口BeanFactoryAware、BeanNameAware;例如BeanFactoryAware被实例化后,Spring容器将注入BeanFactory的实例。

 

https://www.cnblogs.com/yxysuanfa/p/7142566.html

ScheduledExecutorService提供4个方法

方法1:一个任务实例Runnable(参数),需要延时long(参数),时间单元TimeUnit(参数)。

举例说明:

private BeanFactory factory;

/**定单延迟异步通知*/
    public boolean delayNoticeOrderToInstitution(MpiOrder mpiOrder) {
        // 向线程池中加入工作线程
        scheduledExecutorService.schedule(new ApsTradeSingleNoticeWorkThread((ApsTradeNoticeService) factory.getBean(this.getBeanName()),mpiOrder),
               3, TimeUnit.SECONDS);
        return true;
    }

线程延迟3秒后运行。

==============================

public class ApsTradeSingleNoticeWorkThread extends Thread {

    /** 定单通知服务*/
    private ApsTradeNoticeService apsTradeNoticeService;

    /**需要通知的定单*/
    private MpiOrder mpiOrder;

    private Logger logger = LoggerFactory.getLogger(ApsTradeSingleNoticeWorkThread.class);

    public ApsTradeSingleNoticeWorkThread(ApsTradeNoticeService apsTradeNoticeService, MpiOrder mpiOrder) {
        this.apsTradeNoticeService = apsTradeNoticeService;
        this.mpiOrder=mpiOrder;
    }

    @Override
    public void run() {
       // logger.debug("启动定单延迟通知处理线程");
        apsTradeNoticeService.notifyOrderToInstitution(mpiOrder);
    }
}

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值