Spring Boot集成EventBus(Guava方式)

依赖

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
</dependency>

配置

@Configuration
public class AsyncEventBusConfig {

    @Bean
    @Scope("singleton")
    public AsyncEventBus asyncEventBus() {

        final ThreadPoolTaskExecutor executor = executor();
        return new AsyncEventBus("Merchant-AsyncEventBus", executor);
    }

    @Bean
    public ThreadPoolTaskExecutor executor() {

        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(2);
        executor.setMaxPoolSize(10);
        executor.setQueueCapacity(20);
        return executor;
    }
}

生产者

@Autowired
private AsyncEventBus asyncEventBus;

public void myFunc(MyEvent event) {
    ...
    asyncEventBus.post(MyEvent.builder().id(1).name("Joe.Ye").build());
}

消费者

@Autowired
private AsyncEventBus asyncEventBus;

@Subscribe
public void listenMyEvent(MyEvent event) {

}

@PostConstruct
public void init() {
    asyncEventBus.register(this);
}
上一篇 Spring Cloud Gray 微服务灰度中间件
下一篇 Spring Cloud Gray 部署
目录
文章列表
1 四个好看的CSS样式表格
四个好看的CSS样式表格
2
Spring Boot同一应用启动两个ElasticJob其中一个未启动问题
Spring Boot同一应用启动两个ElasticJob其中一个未启动问题
3
Spring Boot 发布回滚
Spring Boot 发布回滚
4
MySQL 序列使用
MySQL 序列使用
5
Spring Boot向Filter过滤器中的Request对象添加额外的参数
Spring Boot向Filter过滤器中的Request对象添加额外的参数
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。