首页 > 其他分享 >动态线程池使用

动态线程池使用

时间:2022-11-04 15:03:40浏览次数:73  
标签:dtp boot t2 nacos t1 yaml 线程 使用 动态

1、复制到项目lib下

动态线程池使用_spring

2、File->Project Structure... ->Modeles  ->Dependencies

动态线程池使用_xml_02

动态线程池使用_线程池_03

找到目录下的jar包引用进去

3、配置pom.xml

<!--动态线程池配置 begin-->
<dependency>
<groupId>com.spz</groupId>
<artifactId>dtp-spring-boot-starter</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/dtp-spring-boot-starter.jar</systemPath>
</dependency>

<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.7</version>
</dependency>
<!--动态线程池配置 end-->

这个支持nacos动态更改内置nacos的监听事件所以引用了nacos  也可也在yaml里使用

若使用nacos请配置dtp.yaml文件

如下

#nacos配置
nacos:
config:
server-addr: 127.0.0.1:8848
data-id: dtp.yaml
type: yaml
auto-refresh: true
bootstrap:
enable: true

dtp.yaml的配置如下

#动态配置
dtp:
executors:
- name: t1
core-pool-size: 10
maximum-pool-Size: 100
- name: t2
core-pool-size: 20
maximum-pool-Size: 110

name为使用线程池的名称 使用案例如下

@GetMapping("/test1")
public Integer test1() {
DtpExecutor t1 = DtpUtil.get("t1");

t1.execute(() -> doTask());

return t1.getCorePoolSize();
}

@GetMapping("/test2")
public Integer test2() {
DtpExecutor t2 = DtpUtil.get("t2");

t2.execute(() -> doTask());

return t2.getCorePoolSize();
}

所用jar包

​https://pan.xunlei.com/s/VNFwDN8GhAarxCV8wzxQv7EeA1?pwd=38cc#​​​

提取码:38cc 

标签:dtp,boot,t2,nacos,t1,yaml,线程,使用,动态
From: https://blog.51cto.com/u_15430445/5819952

相关文章

  • log4net简单使用
    参考(15条消息)C#中实现日志记录功能_微笑&星空的博客-CSDN博客_c#日志记录 1.log4net.config<?xmlversion="1.0"encoding="utf-8"?><configuration> <configSectio......
  • netty系列之: 在netty中使用 tls 协议请求 DNS 服务器
    目录简介支持DoT的DNS服务器搭建支持DoT的netty客户端TLS的客户端请求总结简介在前面的文章中我们讲过了如何在netty中构造客户端分别使用tcp和udp协议向DNS服务器请求消......
  • SQLite简单使用
    SQLite是什么?首先它是一个数据库有什么特点?是一个嵌入式的数据库,存储形式为一个文件,不需要任何配置,比如说在python中想使用它,直接import简单使用#导入数据库imp......
  • MATLAB使用手记(一):绘制余弦信号图形
    前言记录下matlab使用过程的一些应用笔记基本余弦信号\[f(x)=A\cos(\omegat+\phi)=A\cos(2\pift+\phi)\]余弦信号基本公式如上,其中\(A\)是振幅、\(f\)是频率,\(\ome......
  • 微信小程序中wx.login和wx.getUserProfile的使用
    在使用微信登录时,通常会在调用wx.login获取code后再通过wx.getUserProfile获取iv和encryptedData(加密数据)一起发到后端进行登录验证在实际使用中如果在wx.login方法......
  • lambda表达式使用局部变量要用final
    为什么Lambda表达式(匿名类)不能访问非final的局部变量呢?  因为实例变量存在堆中,而局部变量是在栈上分配,Lambda表达式(匿名类)会在另一个线程中执行。如果在线程......
  • 逻辑分析仪使用介绍
    KingstVIS逻辑分析仪使用介绍@目录KingstVIS逻辑分析仪使用介绍一:逻辑分析仪是什么二:采样原理三:和示波器有什么区别四:产品介绍五:软件介绍六:设备连接七:使用详解八:常见......
  • 10-jmeter-初识负载测试的概念:逐步加压(阶梯式线程组)
    一、阶梯式线程组:jp@gc-SteppingThreadGroup(deprecated)->设计场景1、安装插件->将jmeter-plugins-manager-1.3放在ext目录下2、启动jmeter->在JMeterPluginsMa......
  • 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字
    packagetext;classParent{   intx;   publicParent()   {                System.out.println("ParentCreated1");    }  ......
  • 线程安全的单例模式
    懒汉式加方法锁publicclassSingleton{privatestaticSingletonsingleton=null;privateSingleton(){}publicstaticsynchronizedSingletongetIn......