Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JTA, Jboss, Spring / 3 сообщений из 3, страница 1 из 1
19.03.2012, 21:34:54
    #37712502
AndriyR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTA, Jboss, Spring
Имеется следующая задача:

В одной транзакции надо вызывать 3-4 вебсервиса а также инсертить в 3 датабазы некоторые данные.
С ролбеком датабаз проблем нету. Все это делается при помощи JTA транзакций.

но, как ролбекать вебсервисы?

Конечно можно написать баянчик типо стека куда закидывать ролбек команды, и в случае ексепшена - ролбекать по стеку, но выглядит это как-то крайне некрасиво.

Бегло прочитал в интернетах на счет транзакционного JMS. Но чтобы читать углубленно - к превеликому сожалению нету времени.

Вопрос следующий:
можно ли организировать закидывание месейджей в топик\очередь в транзакции?
Тобиш если я закину в очередь, чтобы листенер не начинал обрабатывать пока не будет комит. И чтобы если случится ролбек - месейдж ролбекнулся с очереди. Так же если случится ошибка в лисенере при чтении месейджа, чтобы он вкидывал этот месейдж обратно в очередь, а не просто забывал о нем? На сколько это возможно? И на сколько это сложно реализировать?

Или мб для моей задачи подойдут другие получше механизмы которые может предоставить Spring\Jboss ?
...
Рейтинг: 0 / 0
19.03.2012, 21:58:26
    #37712533
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTA, Jboss, Spring
JMS хорошее решение для вашей задачи. JTA - нет.
Подумайте что будет если веб сервисы в какой-то момент не отвечают. А у вас там socket timeout на 30 секунд. В результате транзакции в базе данных висят несколько минут. Транзакции в базе держат локи, вешая другие транзакции.
В результате неболшие тормоза на уровне работы с WS у вас убивают производительность системы напрочь.

Поэтому работу с удаленными WS надо выности за транзакцию и отдельно обрабатывать ошибки.
...
Рейтинг: 0 / 0
19.03.2012, 22:34:15
    #37712567
AndriyR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTA, Jboss, Spring
Да, но насколько реально сделать закидывание сообщений в очередь транзакционно?
Тобиш если после того как я закину сообщение в очередь чтонибудь пойдет не так - надо чтобы сообщение удалилось с очереди. И чтобы до момента комита транзакции оно не начало обрабатыватся.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JTA, Jboss, Spring / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]