Uploaded image for project: 'Spring Framework'
  1. Spring Framework
  2. SPR-12577

Regression in TransactionAspectSupport.determineTransactionManager(…)

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Complete
    • 4.1.4
    • 4.1.5, 4.2 RC1
    • Data
    • None
    • true

    Description

      If multiple PlatformTransactionManager beans are registered in an ApplicationContext, a raw @Transactional declaration should use the transaction manager bean that is determined via TransactionAspectSupport.transactionManagerBeanName. The changes for SPR-12541 now completely ignore that property as the TransactionAttribute.getQualifier() is mistakenly compared to null. A not set qualifier will result in an empty String for annotation based TransactionAttributeSource instances so that the else clause can never be reached when using @Transactional and thus the configured bean name gets ignored. This subsequently leads to a NoUniqueBeanDefinitionException due to the by-type lookup returning two candidate beans.

      Attachments

        Issue Links

          Activity

            People

              snicoll Stéphane Nicoll
              olivergierke Oliver Drotbohm
              Spring Issues Spring Issues
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                3 years, 47 weeks, 2 days ago