Hippo4j监控RabbitMQ框架的线程池

文章介绍了如何使用Hippo4j这一线程池管理工具来监控RabbitMQ框架的线程池。首先,讲述了Docker安装部署RabbitMQ的步骤,然后在Springboot项目中配置hippo4j-client以连接RabbitMQ,包括导入依赖、编写配置文件和构建消费者。最后,展示了如何通过Hippo4j监控RabbitMQ并进行动态修改线程池设置。
摘要由CSDN通过智能技术生成

在这里插入图片描述

在这里插入图片描述

🚀 线程池管理工具-Hippo4j 🚀

🌲 AI工具、AI绘图、AI专栏 🍀
🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 线程池管理工具-Hippo4j 🚀

👑 线程池管理工具-Hippo4j

🥦 Hippo4j监控RabbitMQ框架的线程池

Hippo4j支持多种框架的线程池监控功能,其中包括,Dubbo、Hystrix、RabbitMQ、RocketMQ同时还支持SpringCloud中的Stream组件。

以RabbitMQ为测试的效果,来进行监控和修改。

注意: RabbitMQ监控的是消费者消费消息时的线程池信息。

🥦 Docker安装部署RabbitMQ框架

Docker安装Rabbitmq超详细教程

🥦 运行RibbitMQ & 创建队列Queue

在这里插入图片描述

🥦 hippo4j-client(Springboot项目)中对RabbitMQ配置

🌰 导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

🌰 编写配置文件

spring:
  rabbitmq:
    host: 192.168.10.131  # 你服务的ip地址
    port: 5672
    username: guest
    password: guest
    virtual-host: /

🌰 编写配置类

@Configuration
public class RabbitMQThreadPoolConfig {

    /**
     * 构建消费者用到的线程
     * @return
     */
    @Bean
    public ThreadPoolTaskExecutor rabbitThreadPool(){
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(5);
        executor.setMaxPoolSize(5);
        executor.setQueueCapacity(100);
        executor.setThreadNamePrefix("rabbit-");
        return executor;
    }

    /**
     * 构建容器工厂,将线程池设置进入
     * @param connectionFactory
     * @return
     */
    @Bean
    public AbstractRabbitListenerContainerFactory<?> defaultContainerFactory(ThreadPoolTaskExecutor rabbitThreadPool,AbstractConnectionFactory connectionFactory){
        DirectRabbitListenerContainerFactory factory = new DirectRabbitListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        connectionFactory.setExecutor(rabbitThreadPool);
        return factory;
    }
}

🌰 构建消费者

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class TestListener {

    @RabbitListener(queues = "consume-queue",containerFactory = "defaultContainerFactory")
    public void consume(String message){
        System.out.println(Thread.currentThread().getName() + ":消费消息 --> " + message);
    }

}

🌰 查看消费消息的效果

在这里插入图片描述

🥦 hippo4j监控RabbitMQ

🌰 导入指定的依赖即可

根据官方文档中的提示,可以单独引入具体的三方框架依赖的支持,也可以直接全部引入。

单独引入方式

<dependency>
    <groupId>cn.hippo4j</groupId>
    <!-- Dubbo -->
    <artifactId>hippo4j-spring-boot-starter-adapter-dubbo</artifactId>
    <!-- Alibaba Dubbo -->
    <artifactId>hippo4j-spring-boot-starter-adapter-alibaba-dubbo</artifactId>
    <!-- Hystrix -->
    <artifactId>hippo4j-spring-boot-starter-adapter-hystrix</artifactId>
    <!-- RabbitMQ -->
    <artifactId>hippo4j-spring-boot-starter-adapter-rabbitmq</artifactId>
    <!-- RocketMQ -->
    <artifactId>hippo4j-spring-boot-starter-adapter-rocketmq</artifactId>
    <!-- SpringCloud Stream RocketMQ -->
    <artifactId>hippo4j-spring-boot-starter-adapter-spring-cloud-stream-rocketmq</artifactId>
    <!-- SpringCloud Stream RabbitMQ -->
    <artifactId>hippo4j-spring-boot-starter-adapter-spring-cloud-stream-rabbitmq</artifactId>
    <version>1.5.0</version>
</dependency>

全部引入

<dependency>
    <groupId>cn.hippo4j</groupId>
    <artifactId>hippo4j-spring-boot-starter-adapter-all</artifactId>
    <version>1.5.0</version>
</dependency>

🌰 重新启动项目

在这里插入图片描述

🌰 动态修改效果展示

修改
在这里插入图片描述

日志输出
在这里插入图片描述

💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值