发送事件
public class DemoEvent extends ApplicationEvent {
@Getter
private UserInfo userInfo;
public DemoEvent(UserInfo source) {
super(source);
userInfo = source;
}
}
@RestController
@RequestMapping(path = {"/api/hz/demoEvent"})
public class DemoEventController {
@RequestMapping(path = "/event", method = {RequestMethod.POST,RequestMethod.GET}, produces = "application/json;charset=UTF-8")
public Response demo(){
UserInfo info = new UserInfo();
info.setName("dage");
DemoEvent demoEvent = new DemoEvent(info);
SpringContextHelper.getApplicationContext().publishEvent(demoEvent);
return Response.OK;
}
}
监听事件
@Component
public class DemoEventListener implements ApplicationListener<DemoEvent> {
@Override
public void onApplicationEvent(DemoEvent demoEvent) {
UserInfo userInfo = demoEvent.getUserInfo();
System.out.println(userInfo.getName());
}
}