如何通过spring cloudboot学习构建并管理自己的组件生态?

摘要:案例, 功能: 需要写一个往kafka上报数据的组建。 当组建启动时,需要建立如下资源: 1, 和kafka建立若干条连接 2, 启动一个线程池 3, 启动上报一个缓冲区 问题如下: 1, 如何在spring工程中引入该组件,并注入到spr
案例, 功能: 需要写一个往kafka上报数据的组建。 当组建启动时,需要建立如下资源: 1, 和kafka建立若干条连接 2, 启动一个线程池 3, 启动上报一个缓冲区 问题如下: 1, 如何在spring工程中引入该组件,并注入到spring容器中 2, 如间接被引用到此JAR包(如 引用的工程有引用到此组建JAR),或只是想用到里面数据类型,并不打算用功能时,如何避免资源会随着引入而自行启动造成资源浪费 3, 组建的配置如何统一管理问题 4, 如何管理众多JAR包依赖,如, 此组建开发要用到kafka的0.11.0.2,有天需要升级到1.0.0 这些问题其实在spring cloud中都有比较好的解决方案,如 zuul, 后面也是仿造zuul的解决 一,如何使该组建被spring工程引入 SPI方式, 如 zuul 的通过 \META-INF\spring.factories 进行引入 ,指定引导目录 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.netflix.zuul.ZuulServerAutoConfiguration,\ org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfiguration 故 组建也定义如下 \META-INF\spring.factories org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.zhenai.security.report.SecurityAutoConfiguration 在SecurityAutoConfiguration中,根据需要对bean进行初始化,和相关资源的启动。如 启动连接,启动本地线程池等。
阅读全文