|
|
|
JTA, Jboss, Spring
|
|||
|---|---|---|---|
|
#18+
Имеется следующая задача: В одной транзакции надо вызывать 3-4 вебсервиса а также инсертить в 3 датабазы некоторые данные. С ролбеком датабаз проблем нету. Все это делается при помощи JTA транзакций. но, как ролбекать вебсервисы? Конечно можно написать баянчик типо стека куда закидывать ролбек команды, и в случае ексепшена - ролбекать по стеку, но выглядит это как-то крайне некрасиво. Бегло прочитал в интернетах на счет транзакционного JMS. Но чтобы читать углубленно - к превеликому сожалению нету времени. Вопрос следующий: можно ли организировать закидывание месейджей в топик\очередь в транзакции? Тобиш если я закину в очередь, чтобы листенер не начинал обрабатывать пока не будет комит. И чтобы если случится ролбек - месейдж ролбекнулся с очереди. Так же если случится ошибка в лисенере при чтении месейджа, чтобы он вкидывал этот месейдж обратно в очередь, а не просто забывал о нем? На сколько это возможно? И на сколько это сложно реализировать? Или мб для моей задачи подойдут другие получше механизмы которые может предоставить Spring\Jboss ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:34:54 |
|
||
|
JTA, Jboss, Spring
|
|||
|---|---|---|---|
|
#18+
JMS хорошее решение для вашей задачи. JTA - нет. Подумайте что будет если веб сервисы в какой-то момент не отвечают. А у вас там socket timeout на 30 секунд. В результате транзакции в базе данных висят несколько минут. Транзакции в базе держат локи, вешая другие транзакции. В результате неболшие тормоза на уровне работы с WS у вас убивают производительность системы напрочь. Поэтому работу с удаленными WS надо выности за транзакцию и отдельно обрабатывать ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:58:26 |
|
||
|
JTA, Jboss, Spring
|
|||
|---|---|---|---|
|
#18+
Да, но насколько реально сделать закидывание сообщений в очередь транзакционно? Тобиш если после того как я закину сообщение в очередь чтонибудь пойдет не так - надо чтобы сообщение удалилось с очереди. И чтобы до момента комита транзакции оно не начало обрабатыватся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 22:34:15 |
|
||
|
|

start [/forum/search_topic.php?author=tsegorah&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
18ms |
get forum list: |
27ms |
get settings: |
16ms |
get forum list: |
20ms |
get settings: |
11ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 1052ms |
| total: | 1324ms |

| 0 / 0 |
