Совместное использование транзакций между веб-приложениями, работающими в одном кластере - PullRequest
0 голосов
/ 27 апреля 2010

У нас (будет) будет следующая архитектура:

  • Base.war будет автономным весенне-спящим приложением
  • Все приложения будут работать под Glassfish, и могут быть кластеризованными
  • E1.war будет располагаться поверх Base.war, расширяя его функциональность
  • Могут быть дополнительные расширения (E2.war, E3.war, & hellip;), расположенные поверх Base.war
  • Любая война может начать транзакцию, и транзакции могут охватывать между войнами
  • Без выключения Base.war или любого другого E x .war, возможно обновить E y .war

Есть ли решение для этого в условиях весенней спячки-стеклянной рыбы?

1 Ответ

2 голосов
/ 27 апреля 2010

Вопросы к себе / команде:

  1. Поддерживает ли наша база данных XA?
  2. Поддерживает ли драйвер JDBC XA?
  3. Будет ли комбинация Glassfish / database / JDBC работать с XA?
  4. Действительно ли нам нужны распределенные транзакции?

Я вернусь к пункту 4 - не делайте распределенные транзакции. Вы должны быть действительно уверены, что распределенные транзакции - лучшее решение для вас. Это не просто, и рекомендуется избегать их, если это возможно. Это прямо из Юргена Хеллера, соучредителя и старшего разработчика в Spring.

Spring не поддерживает распространение транзакций между процессами, поэтому вам понадобится контейнер для поддержки или вручную.

...