一、该问题的重现步骤是什么?
1. 请求 oauth/token 的时候
2. 代码进入 getTenant 然后在 getSysClient() 报的错
SpringUtil.getBean(ISysClient.class)
3.
二、你期待的结果是什么?实际看到的又是什么?
不报错,能找到bean, 现在报了org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springblade.system.feign.ISysClient': FactoryBean threw exception on object creation
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX 4.1.0版本, windows
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
在这个类
请问用的是bladex在git私服的原版么,有没有加过其他的配置或者移动过bean的类。我们本地启动是这样的,可以获取到bean。
对,从你们git私服原本的。没有移动过bean的类,也没改框架原本代码。又重新拉你们git私服比对了这几个类跟在我本机的代码一致
把断点打进去是报了这个错,已经确认项目里是有这个类的并且跟私服的一摸一样
在blade-auth服务的AuthApplication和blade-system服务的SystemApplication上加注解(@ComponentScan({"org.springblade"}))再启动试试
@ComponentScan({"org.springblade"}) @EnableRedisHttpSession @BladeCloudApplication public class AuthApplication { public static void main(String[] args) { BladeApplication.run(AppConstant.APPLICATION_AUTH_NAME, AuthApplication.class, args); } }
@ComponentScan({"org.springblade"}) @BladeCloudApplication public class SystemApplication { public static void main(String[] args) { BladeApplication.run(AppConstant.APPLICATION_SYSTEM_NAME, SystemApplication.class, args); } }
我在这里打上断点,重启system服务的时候会被init,所以为什么还需要单独添加一个 compontscan 注解,
还有BladeCloudApplication我看已经实现了
SpringBootApplication ComponentScan 是被过滤了么?
你给Application加上@ComponentScan({"org.springblade"}),然后把fallback的注解改回@Component(其他有改动的地方也先恢复一下),启动后再调用看看有没有报错。
扫一扫访问 Blade技术社区 移动端