Как разделить транзакции между несколькими потоками - PullRequest
0 голосов
/ 18 февраля 2019

У меня настроен автономный JTA nirayana и две конечные точки REST

  1. для начала транзакции

  2. с использованием транзакции

    @GetMapping("/starttx")  
    public String starttx() throws NotSupportedException, SystemException  
    {  
    //        TransactionManager transactionManager = com.arjuna.ats.jta.TransactionManager.transactionManager();  
        UserTransaction userTransaction = com.arjuna.ats.jta.UserTransaction.userTransaction();  
        System.out.println(userTransaction);  
        userTransaction.begin();  
        System.out.println(userTransaction.getStatus());  
        System.out.println("trx started");  
        return "started";  
    }  
    
    @GetMapping("/createAccount")  
    // @Transactional(rollbackFor=RuntimeException.class)  
    public String account() throws SystemException  
    {  
    
        UserTransaction userTransaction = com.arjuna.ats.jta.UserTransaction.userTransaction();  
        System.out.println(userTransaction.getStatus());  
    
        em.persist(new AccountEntity("acc1"));  
        return "created account";  
    } 
    

Я вызываю starttrx и createAccount соответственно, но в транзакции createAccount статус равен 6, что означает, что он не активен. Как я могу поделиться транзакцией, созданной в конечной точке starttx, с createAccount?

...