Миграция из JpaTransactionManager в проблему WebLogicJtaTransactionManager - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь изменить что-то вроде этого:

@Bean(name = "myTransactionManager")
public PlatformTransactionManager myTransactionManager() {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setPersistenceUnitName("nameDatabase");
        transactionManager.setEntityManagerFactory(myEntityManagerFactory().getObject());
        return transactionManager;
 }

на что-то вроде этого:

        @Bean(name = "myTransactionManager")
        public JtaTransactionManager myTransactionManager() throws Throwable {
             JtaTransactionManager jtm = new JtaTransactionManager();
             jtm.setTransactionManager(new WebLogicJtaTransactionManager().getTransactionManager());
             jtm.afterPropertiesSet();
        }

или, может быть, так:

        @Bean(name = "myTransactionManager")
        public PlatformTransactionManager myTransactionManager() throws Throwable {
            return new WebLogicJtaTransactionManager();
        }

Но это не удается при развертывании.

Одна из многих ошибок, которые я получаю, изменяя это:

Причина: java .lang.ClassCastException: weblogi c .transaction.internal.ServerTransactionManagerImpl не может быть приведен to javax.transaction.UserTransaction

Так что я действительно не знаю, каковы требования при переходе с JPA на JTA WebLogi c конкретный c TransactionManager. Я хотел бы оставить DataSource и EntityManager без изменений и просто изменить TransactionManager. И нет достаточно хорошего примера для использования WebLogicJtaTransactionManager.

...