2008-09-25 2 views
1

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

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

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

ответ

6

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

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

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

Смежные вопросы