【SpringBoot构建Hippo4j-Client安装部署教程】

本文介绍了如何在SpringBoot项目中集成并使用Hippo4j线程池管理工具,包括无中间件依赖的配置步骤,添加依赖,配置启动类,设置线程池信息,并展示了如何在Hippo4j的图形界面进行租户和项目管理,以及测试动态线程池的配置和实例。
摘要由CSDN通过智能技术生成

在这里插入图片描述

在这里插入图片描述

🚀 线程池管理工具-Hippo4j 🚀

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

🚀 线程池管理工具-Hippo4j 🚀

👑 SpringBoot构建Hippo4j-Client安装部署教程

🥦 SpringBoot构建Hippo4j-Client(无中间件依赖)

🌰 创建SpringBoot工程

在这里插入图片描述

🌰 导入Hippo4j的client依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>cn.hippo4j</groupId>
        <artifactId>hippo4j-spring-boot-starter</artifactId>
        <version>1.5.0</version>
    </dependency>
</dependencies>

🌰 启动类添加@EnableDynamicThreadPool注解

@EnableDynamicThreadPool

在这里插入图片描述

🌰 编写配置文件

spring:
  application:
    name: hippo4j-client
  dynamic:
    thread-pool:
      server-addr: 192.168.10.131:6691 # 你的服务器ip地址
      username: admin
      password: 123456
      namespace: ljw   # 租户名称
      item-id: ${spring.application.name}   # 项目名称,需要与服务名称保持一致 

在这里插入图片描述

🌰 配置线程池信息

@Configuration
public class ThreadPoolConfig {

    /**
     * 通过hippo4j的线程池ThreadPoolBuilder去构建
     * 同时交给Spring容器进行管理
     * @return
     */
    @Bean
    @DynamicThreadPool
    public ThreadPoolExecutor testThreadPool() {

        ThreadPoolExecutor testThreadPool = ThreadPoolBuilder.builder()
                .corePoolSize(10)
                .maximumPoolSize(10)
                .keepAliveTime(10)
                .timeUnit(TimeUnit.SECONDS)
                .workQueue(BlockingQueueTypeEnum.RESIZABLE_LINKED_BLOCKING_QUEUE)
                .threadFactory("threadPoolBuilder_builder_test")
                .rejected(new ThreadPoolExecutor.AbortPolicy())
                .threadPoolId("threadPoolBuilder_builder_test")
                .dynamicPool()
                .build();
        return testThreadPool;
    }
}

🌰 在Hippo4j的图形化界面上构建租户

在这里插入图片描述

🌰 在Hippo4j的图形化界面上构建项目

在这里插入图片描述

🌰 编写一个请求测试接口 & 启动项目

@RestController
public class TestController {

    @Autowired
    private ThreadPoolExecutor testThreadPool;

    @GetMapping("/test")
    public String test(){
        testThreadPool.execute(() -> System.out.println(Thread.currentThread().getName()));
        return "success";
    }
}

启动项目

在这里插入图片描述

🌰 访问测试 - 动态线程池 - 线程池管理

线程池管理: 将新注册上来的Hippo4j-Client中的线程池信息读取并且保存到数据库中,如果后续出现同样线程池标识的,还是按照当前数据库保存的配置信息执行,无法动态修改。

在这里插入图片描述
控制台更改相关信息
在这里插入图片描述
数据库查到信息的修改
在这里插入图片描述

访问测试,还是最开始设置的最大线程个数。
在这里插入图片描述

🌰 访问测试 - 动态线程池 - 线程池实例

线程池实例: 可以动态修改线程池配置信息的功能。

选择动态线程池 - 线程池实例,选择项目、用户相关的信息

在这里插入图片描述

修改最大的线程个数,看能否动态修改。

在这里插入图片描述

控制台信息变更
在这里插入图片描述

无论怎样,我们还是要测试一下,之前设置的最大线程数是10个,我们现在更新为了5个,重启测试。
在这里插入图片描述

🥦 构建Hippo4j-Client(依赖配置中心)

依赖配置中心的方式和上面玩的无中间件依赖是两个不同的方式。

最本质的区别在于:

  • 无中间件依赖,这种方式只需要安装部署Hippo4j-Server即可,功能相对依赖配置中心的更丰富。
  • 依赖配置中心方式,可以不安装Hippo4j-Server,只需要在项目中导入好依赖,就可以实现线程池的动态配置刷新效果。 如果需要实现监控界面报表等内容,需要接入Prometheus和Grafana,成本也不低。
    image.png

💬 共勉

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

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硕风和炜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值