WS-AtomicTransaction с Axis2 - PullRequest
       12

WS-AtomicTransaction с Axis2

0 голосов
/ 27 июля 2011

Я использовал Axis2 для создания своих веб-сервисов.Некоторые из моих сервисов являются частью транзакции, т. Е. Все или ни один из них не должен быть выполнен.

Чтобы решить мою проблему, я читал о спецификациях WS-AT через Интернет.Но я не могу понять, как настроить и использовать эту функцию с Axis2.Может кто-нибудь поделиться, пожалуйста, с чего начать?Любой поддерживающий код будет хорош.

Спасибо!

1 Ответ

2 голосов
/ 27 июля 2011

Вы можете лучше использовать реализацию JAX / WS, предоставленную конкретным поставщиком сервера приложений.Вы можете увидеть учебные пособия, такие как this .

. Следует иметь в виду, что распределенные транзакции могут показаться очень привлекательными, но они значительно усложняют работу, особенно в сценариях сбоев.

  1. Журналы транзакций менеджера транзакций становятся критически важными для управления согласованностью между системами.Потеряйте эти журналы, и вы можете потерять знание о результате транзакции.
  2. Вы вводите связь между системами, которые могут иметь разные характеристики доступности.Системный сбой в правильное (или, скорее, неправильное) время приведет к удержанию блокировок базы данных в одной системе, пока все системы не будут восстановлены для обслуживания.В частности, в двухфазном протоколе после того, как ресурс (например, база данных) «проголосовал» на этапе 1, он не может разрешить транзакцию, пока менеджер транзакции не решит общую судьбу транзакции путем сбора голосов от всех участников.Если один участник не может быть восстановлен в течение некоторого времени, все блокировки, удерживаемые этой транзакцией, сохраняются в течение этого времени.Единственный обходной путь - это ручное вмешательство (сложность работы) и потенциальная несогласованность.

В заключение я бы не хотел рекомендовать использование распределенных транзакций между системами, находящимися в разных операционных областях (например, в разных компаниях).или другой регион).

...