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.