zoukankan      html  css  js  c++  java
  • 记一次服务启动时bean注入时 Requested bean is currently in creation的问题

    发现测试服务器一台muc启动失败,另一台是好的,本地也没问题,报错信息如下:

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mucAccountLoginController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration': Unsatisfied dependency expressed through field 'configurers'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'pcAuthorizationServerConfig': Unsatisfied dependency expressed through field 'authenticationManager'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webSecurityConfig': Unsatisfied dependency expressed through field 'formAuthenticationConfig'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'formAuthenticationConfig' defined in URL [jar:file:/home/rockysaas/muc/rockysaas-provider-muc.jar!/BOOT-INF/lib/rockysaas-security-core-1.0.jar!/com/rockysaas/security/core/authentication/FormAuthenticationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pcAuthenticationSuccessHandler': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'defaultAuthorizationServerTokenServices': Requested bean is currently in creation: Is there an unresolvable circular reference?

    原因是原先有

    public class PcAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler {
    
        @Resource
        private ObjectMapper objectMapper;
    
        @Resource
        private ClientDetailsService clientDetailsService;
    
        @Autowired
        private PasswordEncoder passwordEncoder;
    
        @Resource
        private MucAccountService mucAccountService;
    
        @Resource
        private MucPlatformMapper mucPlatformMapper;
    
        @Resource
        private AuthorizationServerTokenServices authorizationServerTokenServices;

    后来mucAccountLoginController加了段代码

    
    

    @RestController

    public class MucAccountLoginController extends BaseController {
    
        @Resource
        private MucLoginService mucLoginService;
        @Resource
        private MucAccountTokenService mucUserTokenService;
        @Resource
        private ClientDetailsService clientDetailsService;
        @Autowired
        private PasswordEncoder passwordEncoder;
    
        @Resource
        private MdcApplicationFeignApi mdcApplicationFeignApi;
    
        @Resource
        private AuthorizationServerTokenServices authorizationServerTokenServices;

    原先只有一个AuthorizationServerTokenServices需要注入,现在变成两个,如果同时发生注入的时候就会报错。在其中一个要注入的类上上加上@Lazy就好了

    @RestController
    @RequestMapping(value = "", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @Api(tags = "Web - 账号登录相关", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public class MucAccountLoginController extends BaseController {
    
        @Resource
        private MucLoginService mucLoginService;
        @Resource
        private MucAccountTokenService mucUserTokenService;
        @Resource
        private ClientDetailsService clientDetailsService;
        @Autowired
        private PasswordEncoder passwordEncoder;
    
        @Resource
        private MdcApplicationFeignApi mdcApplicationFeignApi;
    
        @Resource
        @Lazy
        private AuthorizationServerTokenServices authorizationServerTokenServices;
    喜欢艺术的码农
  • 相关阅读:
    JS与Android交互
    win10 死机 无响应
    clientdataset.open 报错 Name not unique in this context
    WIN10 常用bug解决办法
    关闭win10 自动更新 及蓝屏解决办法
    delphi 调用Webservice 引入wsdl 报错 document empty
    C# 类库调试 启动外部程序无法调试
    ADOQuery.Parameters: Property Parameters does not exist
    delphi android 自动升级
    不死僵尸木马lpt7.asp.asp与lpt5.cnzzz.asp的删除方法
  • 原文地址:https://www.cnblogs.com/zjhgx/p/12158698.html
Copyright © 2011-2022 走看看