java多线程向RabbitMQ推送消息

本文介绍了如何使用Java的Executor框架实现多线程并发,结合RabbitMQ进行消息推送。首先在IOC容器中配置ThreadPoolTaskExecutor,接着在业务层实现线程池并发推送,通过Controller层调用接口。使用Postman进行压力测试,包括创建Collections进行loop测试,并观察RabbitMQ和日志中的推送效果。
摘要由CSDN通过智能技术生成

首先我们使用Executor框架来实现多线程。

1.向IOC容器中注册一个ThreadPoolTaskExecutor实例

@Bean
    public ThreadPoolTaskExecutor  DoneThreadPool(){
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        //核心线程数
        executor.setCorePoolSize(8);
        //最大线程数
        executor.setMaxPoolSize(16);
        //队列中最大的数
        executor.setQueueCapacity(8);
        //县城名称前缀
        executor.setThreadNamePrefix("brianThreadPool_");
        //rejectionPolicy:当pool已经达到max的时候,如何处理新任务
        //callerRuns:不在新线程中执行任务,而是由调用者所在的线程来执行
        //对拒绝task的处理策略
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        //线程空闲后最大的存活时间
        executor.setKeepAliveSeconds(60);
        //初始化加载
        executor.initialize();
        return executor;
    }

2、实现线程池并发推送消息

/**
     * 多线程推送消息到MQ服务
     */
    public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值