Невозможно начать новую транзакцию с помощью narayana в приложении весенней загрузки - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь использовать Нараяна ТМ с источниками данных Oracle XA:

@Bean
@ConfigurationProperties(prefix = "narayana.ref")
public OracleXADataSource refXaDataSource() throws SQLException {
    return new OracleXADataSource();
}

@Bean(name = "REF")
public DataSource refDataSource() throws SQLException {
    OracleXADataSource ds = refXaDataSource();
    return new NarayanaDataSourceBean(ds);
}

@Bean
@ConfigurationProperties(prefix = "narayana.log")
public OracleXADataSource logXaDataSource() throws SQLException {
    return new OracleXADataSource();
} 

@Bean(name = "LOG")
public DataSource logDataSource() throws SQLException {
    OracleXADataSource ds = logXaDataSource();
    return new NarayanaDataSourceBean(ds);
}

@Bean
public NarayanaProperties narayanaProperties() {
    return new NarayanaProperties();
}

@Bean
public NarayanaConfigurationBean narayanaConfigurationBean() {
    return new NarayanaConfigurationBean(narayanaProperties());
}

@Bean
public TransactionManager narayanaTransactionManager() {
    return com.arjuna.ats.jta.TransactionManager.transactionManager();
}

@Bean
public JtaTransactionManager transactionManager(UserTransaction userTransaction,
        TransactionManager transactionManager) {
    JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(userTransaction, transactionManager);
    return jtaTransactionManager;
}

@Bean
public UserTransaction narayanaUserTransaction() {
    return com.arjuna.ats.jta.UserTransaction.userTransaction();
}

когда я готов данные из базы данных все в порядке. Но когда я хочу что-то удалить, я получаю эту ошибку:

2018-11-08 11:03:20.362 [pool-3-thread-1] WARN  com.arjuna.ats.jta - ARJUNA016061: TransactionImple.enlistResource - XAResource.start returned: XAException.XAER_PROTO for < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff7f000101:9ba1:5be409e7:0, node_name=1, branch_uid=0:ffff7f000101:9ba1:5be409e7:3, subordinatenodename=null, eis_name=0 >
oracle.jdbc.xa.OracleXAException: XAErr (-6): Routine was invoked in an inproper context. ORA-24776 SQLErr (0)
    at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1112)
    at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:265)
    at com.arjuna.ats.internal.jdbc.IsSameRMOverrideXAResource.start(IsSameRMOverrideXAResource.java:66)
    at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:662)
    at com.arjuna.ats.internal.jdbc.ConnectionImple.registerDatabase(ConnectionImple.java:940)
    at com.arjuna.ats.internal.jdbc.ConnectionImple.prepareStatement(ConnectionImple.java:173)

...

Caused by: java.sql.SQLException: ORA-24776: cannot start a new transaction

    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)
    at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1061)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
    at oracle.jdbc.driver.T4CTTIOtxse.doOTXSE(T4CTTIOtxse.java:166)
    at oracle.jdbc.driver.T4CXAResource.doStart(T4CXAResource.java:207)
    at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:260)
    ... 53 common frames omitted
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...