你可以不用,但一定要有!!!
项目需要使用了SOFABoot,它是蚂蚁金服开源的基于 Spring Boot (当然了它是建立在spring 之上)的研发框架,
使用过程中,发现很多个服务注册时有些慢(服务越多注册,程序启动就越慢),特别是测试时,其实我只想测试两三四五个服务,那么程序启动时我根本就不需要注册那么多服务,测试时按需个性化注册,钉钉上问了相关工作人员,他们说没有,故而我只能自己实现了。
1. 首先去github上把源码下载下来,地址: https://github.com/sofastack/sofa-boot
导入到开发工具,看个人情况是eclipse还是idea,我是用的eclipse
2. 然后找到有个子项目runtime-sofa-boot,层层展开找到平常用的注解@sofaservice,追加需要的参数
接着还是在该项目下找到子包spring,
该子包下有个ServiceBeanFactoryPostProcessor,(归根结底还是spring,哈哈哈),在该类中的方法generateSofaServiceDefinition判断是否要生成sofaservice
private void generateSofaServiceDefinition(String beanId, SofaService sofaServiceAnnotation,
Class<?> beanClass, BeanDefinition beanDefinition,
ConfigurableListableBeanFactory beanFactory) {
if (sofaServiceAnnotation == null) {
return;
}
//开始追加代码
SofaLogger.error("来自环境变量: {}");
//Environment environment = (Environment) applicationContext.getEnvironment();
String enableAllSofaService = environment.getProperty("enableAll@sofaservice");
SofaLog