【问题标题】:Spring OAuth - No qualifying bean of type PlatformTransactionManagerSpring OAuth - 没有 PlatformTransactionManager 类型的合格 bean
【发布时间】:2016-06-16 07:09:51
【问题描述】:

通过替换 BASIC auth,我成功地将 OAuth2 集成到我之前的应用程序(REST 服务)中。

然后我得到以下异常:

No qualifying bean of type [org.springframework.transaction.PlatformTransactionManager] is defined: expected single matching bean but found 2: transactionManagerDB2,transactionManager

当我删除 bean transactionManagerDB2 时,它开始正常工作。 我有 2 个事务管理器,因为我有 2 个连接的数据库。

由于我有一个InMemoryTokenStore,我很好奇TransactionManager 的要求。 (以及为什么 Oauth 无法通过默认名称获取“transactionManager”)

不知何故,我通过configureGlobal(AuthenticationManagerBuilder auth){} 配置了一个CustomeUserDetailService,以前和现在使用单个TransactionManager 都可以正常工作。

我使用sparklr-boot Spring Boot 应用程序将 OAuth 与我的应用程序集成。 (感谢Dave Syer 做了这么简单易懂的例子)

我正在使用:

  • 春季 4.2.5
  • Spring 安全 4.0.4
  • Spring OAuth 2.0.9
  • (无 Spring Boot)

【问题讨论】:

    标签: spring-mvc spring-security spring-security-oauth2 spring-oauth2


    【解决方案1】:

    问题在于 DefaultTokenServices 中的方法使用@Transactional 进行注释。因此,即使您不使用数据库,您也需要在授权服务器配置中添加这样的事务管理器 bean:

    @Bean
        public PlatformTransactionManager annotationDrivenTransactionManager() {
            return new ResourceTransactionManager() {
                @Override
                public Object getResourceFactory() {
                    return null;
                }
    
                @Override
                public TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException {
                    return null;
                }
    
                @Override
                public void commit(TransactionStatus status) throws TransactionException {
    
                }
    
                @Override
                public void rollback(TransactionStatus status) throws TransactionException {
    
                }
            };
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2018-04-20
      • 2015-11-11
      • 1970-01-01
      • 2018-07-12
      • 2019-01-21
      相关资源
      最近更新 更多