异步 ApllicationContext pushlishEvent @EventLisener来处理

import org.springframework.context.ApplicationContext;

import org.springframework.context.ApplicationEvent;

import org.springframework.context.event.ApplicationEventMulticaster;

import org.springframework.core.task.AsyncTaskExecutor;

@Component

 

public class MyEventPublisher {

private final ApplicationContext applicationContext;

private final ApplicationEventMulticaster eventMulticaster;

private final AsyncTaskExecutor taskExecutor;

        public MyEventPublisher(ApplicationContext applicationContext, ApplicationEventMulticaster eventMulticaster, AsyncTaskExecutor taskExecutor) {

               this.applicationContext = applicationContext;

              this.eventMulticaster = eventMulticaster;  

              this.taskExecutor = taskExecutor;

       }

        public void publishEventAsync(ApplicationEvent event) { taskExecutor.execute(() -> eventMulticaster.multicastEvent(event)); }

}

MyEventPublisher.publishEventAsync(AA)

处理类

@Component

public class Hanlder{

@EventListener(AA.class)

public void handle(AA aa){

}

}

 

posted @   清明雨下  阅读(16)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示