Injetar 2 fontes de dados no aplicativo spring + hibernate sempre lançar nenhuma transação está em andamento

Tenho o projeto Spring + JPA (Hibernate), no qual me conecto aoMsSQL banco de dados, agora eu preciso abrir uma nova conexão, mas desta vez será paraMySQL. eu estou usando a configuração XML

<bean id="hibernateJpaVendorAdapter"
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName" value="${spring.datasource.driverClassName}" />
   ....
</bean>

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    p:dataSource-ref="dataSource" p:packagesToScan="com.wsg.admin.api.model"
    p:jpaVendorAdapter-ref="hibernateJpaVendorAdapter">

    <property name="jpaProperties">
        <props>
            <prop key="hibernate.cache.use_second_level_cache">false</prop>
            ....
        </props>
    </property>
    <property name="persistenceUnitName" value="dataSourcePU" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<!-- Configure the MySQL connection -->
<bean id="enduserDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName" value="${enduser.db.driver}" />
    ....
</bean>

<bean id="enduserEntityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    p:dataSource-ref="enduserDataSource" p:packagesToScan="com.wsg.admin.api.model"
    p:jpaVendorAdapter-ref="hibernateJpaVendorAdapter">

    <property name="jpaProperties">
        <props>
            <prop key="hibernate.cache.use_second_level_cache">false</prop>
            ....
        </props>
    </property>
    <property name="persistenceUnitName" value="enduserDataSourcePU" />
</bean>

<tx:annotation-driven transaction-manager="enduserTransactionManager" />

<bean id="enduserTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="enduserEntityManagerFactory" />
</bean>

então eu tento injetar o entityManager usando o fragmento

@PersistenceContext(unitName="dataSourcePU")
EntityManager entityManager;

@PersistenceContext(unitName="enduserDataSourcePU")
EntityManager endUserEntityManager;

funciona apenas para o primeiro banco de dados, mas quando tenta persistir no segundo, retorna erro

javax.persistence.TransactionRequiredException: no transaction is in progress

Eu tentei anotar o método (que contém a chamada persist ()) com@Transactional("transactionManager") uma vez e@Transactional(value = "enduserTransactionManager") na outra vez, o segundo entityManager sempre lança a mesma exceção

Eu tentei separar a chamada persist () em métodos diferentes e anotou cada um dos dois métodos@Transactional("transactionManager") e@Transactional(value = "enduserTransactionManager") mas ainda assim recebe o mesmo erro

@Transactional(value = "enduserTransactionManager")
private void createNewBrandMySQL(Brand newBrand) {

e

@Transactional("transactionManager")
public Integer createNewBrand(Brand newBrand) throws EntityDoesntExistException { 
//this method calls createNewBrandMySQL

questionAnswers(1)

yourAnswerToTheQuestion