Spring異步事件


1、發布事件

@Data
public class CustomEvent extends ApplicationEvent implements Serializable {
   private Boolean  ignore = Boolean.FALSE;  
   ...
}

 

@Resource
private ApplicationEventPublisher   publisher;

CustomEvent customEvent = new CustomEvent();
customEvent.setIgnore(true);
publisher.publishEvent(customEvent);

  

2、處理事件

@Component
public class MyEventListener {
    @Async
    @EventListener(condition = "#event.ignore")
    public void handleCustomEvent(CustomEvent event) {
        ...
    }
}

注意: 

  1. 首先它是一個spring組件
  2. 必須聲明它是異步的
  3. 聲明它是一個監聽器
  4. 方法中傳遞的參數表明它是監聽哪個事件
  5. 從監聽事件中取參         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM