Merge 4.0.0 (#1199)
Update 4.0.0 (#1056)
revert (#1057)
Co-authored-by: 致节 hzj266771@antgroup.com
- add sofa-boot module unit tests (#1058)
Co-authored-by: 致节 hzj266771@antgroup.com
- add autoconfiguration module unit tests (#1059)
Co-authored-by: 致节 hzj266771@antgroup.com
rpc auto configuration refactor (#1060)
add runtime module unit tests (#1062)
Co-authored-by: 致节 hzj266771@antgroup.com
rpc auto configuration test case (#1063)
add isle unite tests (#1064)
add isle module unit tests
Co-authored-by: 致节 hzj266771@antgroup.com
- fix unit tests (#1066)
Co-authored-by: 致节 hzj266771@antgroup.com
remore feign configuration (#1068)
fix_uts
Co-authored-by: 致节 hzj266771@antgroup.com
Fix rpc swagger export (#1069)
fix_rpc_swagger
Co-authored-by: 致节 hzj266771@antgroup.com
rpc smoke tests (#1070)
rpc smoke test
fix merged pom.xml
Co-authored-by: yuanxuan wt150181@antgroup.com
Fix rpc properties (#1072)
add_model_ignore
update
merge rpc change
Co-authored-by: 致节 hzj266771@antgroup.com
- add default endpoints (#1073)
Co-authored-by: 致节 hzj266771@antgroup.com
Update test maven config (#1074)
update test module maven config
Co-authored-by: 致节 hzj266771@antgroup.com
Update codes (#1075)
spring laoder add protected method
update autoconfigurations
Co-authored-by: 致节 hzj266771@antgroup.com
- rpc smoke tests modify (#1076)
Co-authored-by: yuanxuan wt150181@antgroup.com
- add cpu core constants (#1077)
Co-authored-by: 致节 hzj266771@antgroup.com
- update dependencies (#1079)
Co-authored-by: 致节 hzj266771@antgroup.com
Fix junit4 tests (#1080)
update dependencies
update dependecies
fix junit4 tests
Co-authored-by: 致节 hzj266771@antgroup.com
Fix junit4 tests (#1081)
Fix all tests (#1082)
4.0.0 (#1083)
update sofaboot switch (#1084)
Co-authored-by: 致节 hzj266771@antgroup.com
- fix rpc unit tests (#1085)
Co-authored-by: 致节 hzj266771@antgroup.com
- fix gradle tool (#1086)
Co-authored-by: 致节 hzj266771@antgroup.com
Update log (#1088)
update sofa common tools log init
add config to disable sofa thread pool monitor
update isle module
Co-authored-by: 致节 hzj266771@antgroup.com
- add snapshot yaml (#1089)
Co-authored-by: 致节 hzj266771@antgroup.com
fix_rpc_configuration_test
update github workflow
fix smoke runtime unit tests
fix rpc unit test
add isle integration tests (#1091)
Co-authored-by: 致节 hzj266771@antgroup.com
Add runtime tets (#1092)
add sofaboot and sofaruntime tests
add rumtime and tracer tests
fix unit tests
fix unit tests
Co-authored-by: 致节 hzj266771@antgroup.com
bean on switch smoke test (#1093)
bean on switch smoke test
fix format
fix format
Co-authored-by: yuanxuan wt150181@antgroup.com
add test module (#1094)
add test module add log util
format
Co-authored-by: 致节 hzj266771@antgroup.com
Add test module (#1096)
add test module add log util
format
add actuator log test
Co-authored-by: 致节 hzj266771@antgroup.com
fix_readiness_thredpool_configuration (#1098)
fix_readiness_thredpool_configuration
fix readienss ut
fix readienss ut
Co-authored-by: 致节 hzj266771@antgroup.com
- update local env (#1099)
Co-authored-by: 致节 hzj266771@antgroup.com
- support duplicate isle module (#1100)
Co-authored-by: 致节 hzj266771@antgroup.com
Fix error properties (#1101)
support duplicate isle module
fix tracer properties value
Co-authored-by: 致节 hzj266771@antgroup.com
Update maven dependncies (#1102)
support duplicate isle module
update maven plugin dependencies
update maven plugin dependencies
Co-authored-by: 致节 hzj266771@antgroup.com
Add sofaboot swtich (#1104)
update switch feature
update switch feature
Co-authored-by: 致节 hzj266771@antgroup.com
remove health indicator (#1105)
use BufferedApplicationStartup static startup (#1107)
use BufferedApplicationStartup static startup
use BufferedApplicationStartup static startup
format
Co-authored-by: 致节 hzj266771@antgroup.com
- support healthcheck startup (#1108)
Co-authored-by: 致节 hzj266771@antgroup.com
Update tracer 4.0.0 (#1109)
update tracer logs
suit sofa tracer 4.0 add sofa tracer datasource integration tests
add tracer integration tests
format
Co-authored-by: 致节 hzj266771@antgroup.com
add FeignClientAutoConfigurationTests
reactor switch on scenes (#1106)
reactor switch on scenes
reactor switch on scenes format
reactor switch on scenes format
fix cr problem
add ScenesEnvironmentPostProcessorTests
add ScenesEnvironmentPostProcessorTests
Co-authored-by: yuanxuan wt150181@antgroup.com
- update readme.md (#1110)
Co-authored-by: 致节 hzj266771@antgroup.com
Fix components end point (#1078) (#1111)
Fix components end point (#1078)
(cherry picked from commit 9930d16da870f2ec21455037e3a9615e76e4f307)
- ensure application context active when custom startup stat
Co-authored-by: Dando jialindeng7@163.com Co-authored-by: 致节 hzj266771@antgroup.com
- add scenes log (#1112)
Co-authored-by: 致节 hzj266771@antgroup.com
- update springboot 3.0.4 (#1113)
- update springboot 3.0.4
- addPostProcessors avoid duplicate
add mysql-connector-java
fix throw exception in SofaGenericApplicaitonContext
fix ut
Co-authored-by: 致节 hzj266771@antgroup.com
support custom readiness actuator http response code (#1114)
support custom readiness actuator http response code
rename SofaHttpCodeStatusMapper to ReadinessHttpCodeStatusMapper
Co-authored-by: 致节 hzj266771@antgroup.com
Support startup parent self time (#1115)
update startup bean stats
support show bean real cost
Co-authored-by: 致节 hzj266771@antgroup.com
update swagger and swagger2 version (#1118)
update swagger and swagger2 version
fix swagger autoconfig uts
Co-authored-by: 致节 hzj266771@antgroup.com
Add rpc actuator configuration (#1119)
add com.alipay.sofa.boot.actuator.autoconfigure.rpc.RpcActuatorAutoConfiguration
support use sofa.boot.rpc.enableAutoPublish=true to auto publush rpc services
Co-authored-by: 致节 hzj266771@antgroup.com
Fix rpc grpc tests (#1122)
enable rpc grpc tests
fix ut: testConnectionNum
update maven dependencies
update protobuf dependencies
update depdencies
update depdencies
Co-authored-by: 致节 hzj266771@antgroup.com
update maven staging plugin to 1.6.13
upgrade javassit version to 3.29.2-GA ,rpc smoke tests use javassist (#1125)
Co-authored-by: yuanxuan wt150181@antgroup.com
4.0.0 (#1126)
rename thread pool monitor config
rename thread pool monitor config
rename thread pool monitor config
Co-authored-by: 致节 hzj266771@antgroup.com
- update springboot 3.0.5 (#1131)
Co-authored-by: 致节 hzj266771@antgroup.com
Update dubbo 3.1.8 and curator 4.3.0 (#1128)
rename thread pool monitor config
rename thread pool monitor config
rename thread pool monitor config
update dubbo 3.1.8 update maven-surefire-plugin 3.0.0
update dubbo 3.1.8 update curator 5.4.0
fix xml
update curator 4.3.0
fix dubbo ut
Co-authored-by: 致节 hzj266771@antgroup.com
Update guice 5.1.0 (#1139)
update guice 5.1.0
skip tests module when deploy
Co-authored-by: 致节 hzj266771@antgroup.com
- add unit tests for util (#1140)
Co-authored-by: 致节 hzj266771@antgroup.com
- remove guice-multibindings (#1142)
Co-authored-by: 致节 hzj266771@antgroup.com
Add sofa boot ut (#1141)
add unit tests for util
add uts for sofa-boot class
Co-authored-by: 致节 hzj266771@antgroup.com
add uts (#1143)
add unit tests for util
add uts for sofa-boot class
remove guice-multibindings
add ut for acutator autoconfigure
Co-authored-by: 致节 hzj266771@antgroup.com
- Add sofa boot autoconfiguration uts (#1144)
- add sofa-boot autoconfigure unit tests
Co-authored-by: 致节 hzj266771@antgroup.com
Update jacoco plugin 0.8.9 (#1145)
update jacoco maven plugin 0.8.9
Co-authored-by: 致节 hzj266771@antgroup.com
Update codecov-action@v3 (#1146)
update codecov-action@v3
Co-authored-by: 致节 hzj266771@antgroup.com
Add jacoco module (#1148)
add sofa-boot-jacoco-report module
Co-authored-by: 致节 hzj266771@antgroup.com
Add codecov configs (#1151)
add fail_ci_if_error true
Co-authored-by: 致节 hzj266771@antgroup.com
Add ark tests (#1152)
add unit tests for ark-sofa-boot
Co-authored-by: 致节 hzj266771@antgroup.com
Fix rpc tests report (#1153)
add rpc report
Co-authored-by: 致节 hzj266771@antgroup.com
Add isle module uts (#1154)
add unit tests for isle module
Co-authored-by: 致节 hzj266771@antgroup.com
add unit tests for runtime (#1157)
add unit tests for runtime
add unit tests for runtime
add unit tests for runtime
Co-authored-by: 致节 hzj266771@antgroup.com
Add runtime unittests (#1158)
add unit tests for runtime
add unit tests for runtime
add unit tests for runtime
add unit tests
Co-authored-by: 致节 hzj266771@antgroup.com
- add legacy configurations detect (#1161)
Co-authored-by: 致节 hzj266771@antgroup.com
Cherry pick from 3.18.0 (#1164)
cherry pick Feature same module inject (#1116)
cherry pick 081a24c240e6848372e34ad0b37cbe907dd19b63
cherry pick refactor aware processor (#1130)
cherry pick support repeatable @SofaServices annotation (#1132)
cherry pick modify RuntimeContextBeanFactoryPostProcessor field modifier protected (#1134)
cherry pick from Support sofareference required optional (#1135)
cherry pick add startup log in sofa runtime log (#1159)
use FactoryBean.OBJECT_TYPE_ATTRIBUTE to support ReferenceFactoryBean… (#1156)
use FactoryBean.OBJECT_TYPE_ATTRIBUTE to support ReferenceFactoryBean by type inject
Co-authored-by: wutao taobaorun@gmail.com Co-authored-by: 致节 hzj266771@antgroup.com Co-authored-by: Dando jialindeng7@163.com
optimize RuntimeContextBeanFactoryPostProcessor (#1165)
optimize RuntimeContextBeanFactoryPostProcessor
optimize RuntimeContextBeanFactoryPostProcessor
Co-authored-by: 致节 hzj266771@antgroup.com
optimize springcloud bootstrap log properties (#1166)
optimize springcloud bootstrap log properties
update ut
remove unused import
Co-authored-by: 致节 hzj266771@antgroup.com
- add spring.boot.version properties (#1168)
Co-authored-by: 致节 hzj266771@antgroup.com
Add ark tests (#1167)
remove guice-multibindings
add unit tests for ark-sofa-boot
add ark smoke tests
add sofa ark smoke tests
update ark smoke tests
Co-authored-by: 致节 hzj266771@antgroup.com
add sofarpc endpoint (#1169)
add sofarpc endpoint
format
fix actuator ut
fix actuator ut
Co-authored-by: 致节 hzj266771@antgroup.com
Add isle enable condition (#1171)
rename EndPoint to Endpoint
add SofaModuleAvailableCondition
Co-authored-by: 致节 hzj266771@antgroup.com
ComponentsDescriptor implements OperationResponseBody
use spring.factories instead of jdk spi (#1175)
Co-authored-by: 致节 hzj266771@antgroup.com
Merge v3.19.0 (#1182)
avoid npe (#1177)
Co-authored-by: 致节 hzj266771@antgroup.com (cherry picked from commit 7e5fd1e57e3287afd492d6f78d2106aead0809a0)
Add annotation sofa service bean (#1176) (cherry picked from commit 123b3eb1508a36eab04905f4f2707e27f068198e)
straight application listener order (#1179) (cherry picked from commit bb45ec702dd2cb3b2d26f064d13834fa729114f9)
Co-authored-by: Dando jialindeng7@163.com
- update springboot 3.0.7 (#1183)
Co-authored-by: 致节 hzj266771@antgroup.com
- update listener order (#1184)
Co-authored-by: 致节 hzj266771@antgroup.com
- distinct requrie modules (#1185)
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
Co-authored-by: 致节 hzj266771@antgroup.com
Revert extenstion package (#1186)
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
- revert extension package
Co-authored-by: 致节 hzj266771@antgroup.com
Add legacy rpc property (#1189)
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
revert extension package
support legacy proeprty for sofarpc
Co-authored-by: 致节 hzj266771@antgroup.com
Release dependencies (#1190)
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
revert extension package
support legacy proeprty for sofarpc
release jars
Co-authored-by: 致节 hzj266771@antgroup.com
Cherry pick 3.21.1 (#1195)
- distinct requrie modules
- split loadPropertiesFormUrlResource method
- remove require modules if module is none spring powered
revert extension package
support legacy proeprty for sofarpc
- update version 3.18.1 (#1192)
- update version 3.18.1
- fix @SofaService Annotation parse
format
format
Co-authored-by: 致节 hzj266771@antgroup.com
- format
Co-authored-by: 致节 hzj266771@antgroup.com
- Update springboot version (#1196)
- update_springboot 3.0.7
Co-authored-by: 致节 hzj266771@antgroup.com
Release 4.0.0 (#1198)
release 4.0.0
Co-authored-by: 致节 hzj266771@antgroup.com
Co-authored-by: 致节 hzj266771@antgroup.com Co-authored-by: wutao taobaorun@gmail.com Co-authored-by: yuanxuan wt150181@antgroup.com Co-authored-by: Dando jialindeng7@163.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
SOFABoot
SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力。
一、背景
Spring Boot 是一个非常优秀的开源框架,可以非常方便地就构建出一个基于 Spring 的应用程序,但是在使用过程中,还是会遇到一些问题:
为了解决以上的问题,又因为 SOFA 中间件中的各个组件本身就需要集成 Spring Boot,所以蚂蚁集团基于 Spring Boot 开发并开源了 SOFABoot,来解决以上的问题,也方便使用者在 Spring Boot 中方便地去使用 SOFA 中间件。
二、功能简介
为了解决 Spring Boot 在实施大规模微服务架构时候的问题,SOFABoot 提供了以下的能力:
2.1 增强 Spring Boot 的健康检查能力
针对 Spring Boot 缺少 Readiness Check 能力的情况,SOFABoot 增加了 Spring Boot 现有的健康检查的能力,提供了 Readiness Check 的能力。利用 Readiness Check 的能力,SOFA 中间件中的各个组件只有在 Readiness Check 通过之后,才将流量引入到应用的实例中,比如 RPC,只有在 Readiness Check 通过之后,才会向服务注册中心注册,后面来自上游应用的流量才会进入。
除了中间件可以利用 Readiness Check 的事件来控制流量的进入之外,PAAS 系统也可以通过访问
http://localhost:8080/actuator/readiness来获取应用的 Readiness Check 的状况,用来控制例如负载均衡设备等等流量的进入。2.2 提供类隔离的能力
为了解决 Spring Boot 下的类依赖冲突的问题,SOFABoot 基于 SOFAArk 提供了 Spring Boot 上的类隔离的能力,在一个 SOFABoot 的系统中,只要引入 SOFAArk 相关的依赖,就可以将 SOFA 中间件相关的类和应用相关的类的 ClassLoader 进行隔离,防止出现类冲突。当然,用户也可以基于 SOFAArk,将其他的中间件、第三方的依赖和应用的类进行隔离。
2.3 日志空间隔离能力
为了统一大规模微服务场景下的中间件日志的打印,SOFABoot 提供了日志空间隔离的能力给 SOFA 中间件,SOFA 中间件中的各个组件采用日志空间隔离的能力之后,自动就会将本身的日志和应用的普通日志隔离开来,并且打印的日志的路径也是相对固定,非常方便进行统一地监控。
2.4 SOFA 中间件的集成管理
基于 Spring Boot 的自动配置能力,SOFABoot 提供了 SOFA 中间件统一易用的编程接口以及 Spring Boot 的 Starter,方便在 Spring Boot 环境下使用 SOFA 中间件,SOFA 中间件中的各个组件都是独立可插拔的,节约开发时间,和后期维护的成本。
2.5 模块化开发
SOFABoot 支持基于 Spring 上下文隔离的模块化开发能力,每个 SOFABoot 模块使用独立的 Spring 上下文,避免不同 SOFABoot 模块间的 BeanId 冲突,有效降低企业级多模块开发时团队间的沟通成本。
三、快速开始
请查看文档中的快速开始来了解如何快速上手使用 SOFABoot。
四、如何贡献
在贡献代码之前,请阅读如何贡献来了解如何向 SOFABoot 贡献代码。
SOFABoot 的编译环境的要求为 JDK17,需要采用 Apache Maven 3.5.4 或者更高的版本进行编译。
五、感谢
SOFA 的第一个版本是阿玺创造的,感谢阿玺给 SOFA 打下了坚实地基础,也非常感谢在 SOFA 的历史中给 SOFA 贡献过代码的人们。
六、示例
SOFABoot 的示例工程 sofaboot-samples 包含以下 demo 项目:
七、文档
请参考 SOFABoot 官方文档。
源码解析
八、开源许可
SOFABoot 基于 Apache License 2.0 协议,SOFABoot 依赖了一些三方组件,它们的开源协议参见 依赖组件版权说明
九、已知用户
此处列出了已知在生产环境使用了 SOFAStack 全部或者部分组件的公司或组织,大家可以通过 SOFAStack 使用者登记进行登记。 以下排名不分先后: