1.创建 Event 监听类
public class SmsNoticeEvent extends ApplicationEvent {
//业务参数
private String message;
public SmsNoticeEvent(Object source, String message) {
super(source);
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
- 建立监听
@Component
public class NoticeEventService {
@Async
@EventListener
public void smsNotice(SmsNoticeEvent event) throws IOException {
long id = Thread.currentThread().getId();
String message = event.getMessage();
System.out.println("ThreadId:"+ id+"smsNotice 监听通知,message:"+message);
}
}
- 发起监听事件
@RestController
@RequestMapping("/api/test")
public class EventController {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@ApiOperation(value = "监听短信消息",notes = "监听短信消息")
@GetMapping("/smsNotice")
public String smsNotice(String message) {
applicationEventPublisher.publishEvent(new SmsNoticeEvent(this,message));
long id = Thread.currentThread().getId();
System.out.println(" main ThreadId:"+ id);
return "success";
}
}
- 测试结果:
- 项目层级



