集成框架 -- 自定义二方包 starter
自定义starter
- 二方包 My-thread-pool-starter
- my-thread-pool-starter 整体架构
 
- 测试 MyTestAppApplication
- 测试工程 my-test-app 结构
- 测试项目的 pom.xml
 
 
二方包 My-thread-pool-starter
POM 文件
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-thread-pool-starter</artifactId><version>1.0.0</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>
my-thread-pool-starter 整体架构
│
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── threadpoolstarter
│   │   │               ├── ThreadPoolAutoConfiguration.java
│   │   │               ├── ThreadPoolProperties.java
│   │   │               └── ThreadPoolConfigurer.java
│   └── resources
│       └── META-INF
│           └── spring.factories确保 spring.factories 文件正确配置并位于 src/main/resources/META-INF 目录下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.example.threadpoolstarter.ThreadPoolAutoConfiguration
打包和安装到本地仓库
mvn clean install
测试 MyTestAppApplication
在另一个 Spring Boot 应用中使用你的自定义 Starter,在pom.xml 中添加依赖项:
<dependency><groupId>com.example</groupId><artifactId>my-thread-pool-starter</artifactId><version>1.0.0</version>
</dependency>
然后在该应用的 application.properties 或 application.yml 文件中配置你的线程池属性:
threadpool.enabled=true
threadpool.corePoolSize=10
threadpool.maxPoolSize=50
threadpool.queueCapacity=100
threadpool.threadNamePrefix=CustomThreadPool-
测试工程 my-test-app 结构
│
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── mytestapp
│   │   │               └── MyTestAppApplication.java
│   └── main
│       └── resources
│           └── application.yml
测试项目的 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-test-app</artifactId><version>1.0.0</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- 添加自定义的Starter依赖 --><dependency><groupId>com.example</groupId><artifactId>my-thread-pool-starter</artifactId><version>1.0.0</version></dependency></dependencies>
</project>

