Websphere Scheduler - PullRequest
       5

Websphere Scheduler

0 голосов
/ 31 марта 2010

Websphere Scheduler использует драйвер XA источника данных планировщика. Когда задача выполняется планировщиком, она запускает глобальную транзакцию, но в нашем приложении мы создаем новое соединение с другой базой данных и явно фиксируем данные и закрываем соединение. Этот источник данных настроен с использованием источника данных не XA-драйвера. Для приложения мы также включили эвристическую опасность Accept (расширение поддержки последнего участника). Теперь при запуске планировщика мы получаем исключение DSRA9350E: операция Connection.commit не разрешена во время глобальной транзакции.

Может ли кто-нибудь помочь мне в этом

1 Ответ

3 голосов
/ 23 апреля 2010

Ваша задача выполняется в транзакции, и, вероятно, вы вызываете commit в этой транзакции. Поэтому вы должны вызывать ваши операции с БД, фиксировать и закрывать БД вне этой транзакции. Создать сессионный компонент транзакции, управляемый компонентом

@TransactionManagement(TransactionManagementType.BEAN)

и переместите код, связанный с БД и транзакциями, в новый компонент.

...