• 通过配置文件设置配置类的属性,创建一个线程池


    1、配置属性的提示工具,导入相对应的依赖,

            <!--配置属性的提示工具-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>

    2、创建一个类用于属性映射

    @Data
    @Component //放入bean中,该服务下任何位置都可以使用
    @ConfigurationProperties(prefix = "myproject.thread") //自定义标识前缀
    public class ThreadPoolConfigProperties {
        private Integer coreSize;
        private Integer maxSize;
        private Integer keepAliveTime;
    }

    3、编写线程池配置类

    //@EnableConfigurationProperties(ThreadPoolConfigProperties.class) 
    //开启ThreadPoolConfigProperties类的属性配置,注入后可以获取到该类了。如果该类已经在容器中了,就不需要再写该注解,直接使用即可 @Configuration public class MyThreadConfig { @Bean public ThreadPoolExecutor threadPoolExecutor(ThreadPoolConfigProperties threadPoolConfigProperties) { return new ThreadPoolExecutor( threadPoolConfigProperties.getCoreSize(), threadPoolConfigProperties.getMaxSize(), threadPoolConfigProperties.getKeepAliveTime(), TimeUnit.SECONDS, new LinkedBlockingQueue(100), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); } }

    4、application.properties文件中定义

    # 自定义的线程池的配置
    myproject.thread.core-size=20
    myproject.thread.max-size=100
    myproject.thread.keep-alive-time=10

    几个注解:

    @Component //将该类放入bean中,该微服务下任何位置都可以使用
    @ConfigurationProperties(prefix = "gulimall.thread") //配合属性,自定义标识前缀

    @EnableConfigurationProperties(ThreadPoolConfigProperties.class) //开启配置属性,并指定属性类
  • 相关阅读:
    为页面上某些文本框添加离开验证输入事件
    学习之UML类图符号
    djangomagic blog
    验证码识别基础方法及源码
    LINQ TO XML实用解析
    解决ASP.NET中的各种乱码问题
    ASP.NET 1.1 ~ 4.0 中的哈希碰撞漏洞
    断点续传下载文件
    SQL Server资源
    Python图片浏览器
  • 原文地址:https://www.cnblogs.com/lzghyh/p/13308625.html
Copyright © 2020-2023  润新知