Обновление большого набора данных - Spring Transaction - PullRequest
1 голос
/ 14 марта 2012

Я использую Spring декларативное управление транзакциями. Он фиксирует транзакцию только после завершения метода. Обновляя большой набор данных из более чем двадцати тысяч записей в базе данных Oracle, я получаю исключение

11:16:44,901 ERROR [STDERR] 
    Caused by: javax.transaction.RollbackException: 
    Transaction TransactionImple < ac, 
    BasicAction: a0002ba:b7d:4f602e7f:80 
    status: ActionStatus.ABORTING > cannot proceed STATUS_ROLLING_BACK
11:16:44,901 ERROR [STDERR]     at org.jboss.resource.connectionmanager.TxConnectionManager.checkTransactionActive(TxConnectionManager.java:332)
11:16:44,901 ERROR [STDERR]     at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.checkTransactionActive(BaseConnectionManager2.java:972)
11:16:44,901 ERROR [STDERR]     at org.jboss.resource.adapter.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:161)
11:16:44,901 ERROR [STDERR]     ... 144 more

Если я использую простой JDBC для обновления такого большого набора данных с помощью пакетной обработки, то я потеряю свойства транзакции (ACID). Но я сталкиваюсь с проблемами при обновлении этого большого набора данных с помощью управления транзакциями Spring. Кто-нибудь сталкивался с подобной проблемой или может предложить какое-нибудь альтернативное решение?

Я использую JTATransactionManager и Jboss 5.1 и интеграцию Spring + iBatis.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...