Вопрос

Я пишу адаптер ресурсов, который не поддерживает двухфазную фиксацию.Я знаю, что есть метод оптимизации, который называется:«Последняя оптимизация ресурса».

В JBoss ваш класс XAResource должен реализовать LastResource для оптимизации.

Мой вопрос:как это можно сделать в WebLogic, WebSpehre, Glassfish и т. д.

Это было полезно?

Решение

Веблогика: Насколько мне известно (может быть очень неправильно) с LRO можно использовать только драйверы JDBC, и это чисто административная задача.Если драйвер не поддерживает XA, его можно настроить для использования с LRO: «Выберите этот вариант, если вы хотите включить соединения JDBC, отличные от XA, из источника данных для эмуляции участия в глобальных транзакциях с использованием JTA».

По сути, LRO допускает использование ресурса, у которого нет фазы подготовки и который можно только зафиксировать или откатить.Таким образом, если в XA-транзакции существует только один такой ресурс, мы можем сначала попытаться подготовить все остальные, затем зафиксировать один LRO, затем, в случае успеха, зафиксировать другие, в противном случае откатить другие.

Видите ли, особой необходимости в объявлении какого-либо интерфейса нет.Это алгоритм, который может работать с любым ресурсом, отличным от XA.Я не уверен, почему он есть у JBoss, но я не ожидаю, что на других серверах будет что-то подобное.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top