Spec-Zone .ru
спецификации, руководства, описания, API


javax.transaction.xa
Интерфейс XAResource


public interface XAResource

Интерфейс XAResource является отображением Java промышленного стандарта интерфейс XA, основанный на Спецификации CAE X/Open (Распределенная обработка транзакций: Спецификация XA).

Интерфейс XA определяет контракт между Менеджером ресурсов и Менеджером транзакций в распределенной обработке транзакций (DTP) среда. Драйвер JDBC или провайдер JMS реализуют этот интерфейс, чтобы поддерживать ассоциацию между глобальной транзакцией и базой данных или соединением службы сообщения.

Интерфейс XAResource может поддерживаться любым транзакционным ресурсом, который предназначается, чтобы использоваться прикладными программами в среде, где транзакциями управляет внешний менеджер транзакций. Примером такого ресурса является система управления базами данных. Приложение может получить доступ к данным посредством многократных соединений с базой данных. Каждое соединение с базой данных включается в список с менеджером транзакций как транзакционный ресурс. Менеджер транзакций получает XAResource для каждого соединения, участвующего в глобальной транзакции. Менеджер транзакций использует start метод, чтобы связать глобальную транзакцию с ресурсом, и это использует end метод, чтобы разъединить транзакцию с ресурсом. Менеджер ресурсов ответственен за соединение глобальной транзакции ко всей работе, выполняемой на ее данных между вызовами метода конца и запуском.

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


Полевая Сводка
static int TMENDRSCAN
          Заканчивает сканирование восстановления.
static int TMFAIL
          Разъединяет вызывающую сторону и отмечает ответвление транзакции, только для отката.
static int TMJOIN
          Вызывающая сторона присоединяется к существующему ответвлению транзакции.
static int TMNOFLAGS
          Используйте TMNOFLAGS, чтобы указать, что никакое значение флагов не выбирается.
static int TMONEPHASE
          Вызывающая сторона использует однофазную оптимизацию.
static int TMRESUME
          Вызывающая сторона возобновляет ассоциацию с приостановленным ответвлением транзакции.
static int TMSTARTRSCAN
          Запускает сканирование восстановления.
static int TMSUCCESS
          Разъединяет вызывающую сторону с ответвлением транзакции.
static int TMSUSPEND
          Вызывающая сторона приостанавливает (не заканчивающийся) ее ассоциация ответвлением транзакции.
static int XA_OK
          Работа транзакции обычно готовилась.
static int XA_RDONLY
          Ответвление транзакции было только для чтения и фиксировалось.
 
Сводка метода
 void commit(Xid xid, boolean onePhase)
          Фиксирует глобальную транзакцию, определенную xid.
 void end(Xid xid, int flags)
          Заканчивает работу, выполняемую от имени ответвления транзакции.
 void forget(Xid xid)
          Говорит менеджеру ресурсов забывать об эвристическим образом завершенном ответвлении транзакции.
 int getTransactionTimeout()
          Получает текущий набор значений тайм-аута транзакции для этого экземпляра XAResource.
 boolean isSameRM(XAResource xares)
          Этот метод вызывают, чтобы определить, является ли экземпляр менеджера ресурсов, представленный целевым объектом, тем же самым как resouce экземпляром менеджера, представленным параметром xares.
 int prepare(Xid xid)
          Попросите, чтобы менеджер ресурсов подготовился к фиксации транзакции транзакции, определенной в xid.
 Xid[] recover(int flag)
          Получает список готовых ответвлений транзакции от менеджера ресурсов.
 void rollback(Xid xid)
          Сообщает менеджеру ресурсов, чтобы откатывать работу, сделанную от имени ответвления транзакции.
 boolean setTransactionTimeout(int seconds)
          Устанавливает текущее значение тайм-аута транзакции для этого XAResource экземпляр.
 void start(Xid xid, int flags)
          Запускает работу от имени ответвления транзакции, определенного в xid.
 

Полевая Деталь

TMENDRSCAN

static final int TMENDRSCAN
Заканчивает сканирование восстановления.

См. Также:
Постоянные Значения полей

TMFAIL

static final int TMFAIL
Разъединяет вызывающую сторону и отмечает ответвление транзакции, только для отката.

См. Также:
Постоянные Значения полей

TMJOIN

static final int TMJOIN
Вызывающая сторона присоединяется к существующему ответвлению транзакции.

См. Также:
Постоянные Значения полей

TMNOFLAGS

static final int TMNOFLAGS
Используйте TMNOFLAGS, чтобы указать, что никакое значение флагов не выбирается.

См. Также:
Постоянные Значения полей

TMONEPHASE

static final int TMONEPHASE
Вызывающая сторона использует однофазную оптимизацию.

См. Также:
Постоянные Значения полей

TMRESUME

static final int TMRESUME
Вызывающая сторона возобновляет ассоциацию с приостановленным ответвлением транзакции.

См. Также:
Постоянные Значения полей

TMSTARTRSCAN

static final int TMSTARTRSCAN
Запускает сканирование восстановления.

См. Также:
Постоянные Значения полей

TMSUCCESS

static final int TMSUCCESS
Разъединяет вызывающую сторону с ответвлением транзакции.

См. Также:
Постоянные Значения полей

TMSUSPEND

static final int TMSUSPEND
Вызывающая сторона приостанавливает (не заканчивающийся) ее ассоциация ответвлением транзакции.

См. Также:
Постоянные Значения полей

XA_RDONLY

static final int XA_RDONLY
Ответвление транзакции было только для чтения и фиксировалось.

См. Также:
Постоянные Значения полей

XA_OK

static final int XA_OK
Работа транзакции обычно готовилась.

См. Также:
Постоянные Значения полей
Деталь метода

фиксация

void commit(Xid xid,
            boolean onePhase)
            throws XAException
Фиксирует глобальную транзакцию, определенную xid.

Параметры:
xid - Глобальный идентификатор транзакции
onePhase - Если это правда, менеджер ресурсов должен использовать однофазный протокол фиксации, чтобы фиксировать работу, сделанную от имени xid.
Броски:
XAException - Ошибка произошла. Возможные XAExceptions являются XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, или XAER_PROTO.

Если менеджер ресурсов не фиксировал транзакцию, и однофазные параметры устанавливаются к истине, менеджер ресурсов может выдать одно из исключений XA_RB*. По возврату менеджер ресурсов откатывал работу ответвления и высвободил все сохраненные средства.


конец

void end(Xid xid,
         int flags)
         throws XAException
Заканчивает работу, выполняемую от имени ответвления транзакции. Менеджер ресурсов разъединяет ресурс XA с определенным ответвлением транзакции и позволяет транзакции завершаться.

Если TMSUSPEND определяется во флагах, ответвление транзакции временно приостанавливается в неполном состоянии. Контекст транзакции находится в состоянии ожидания и должен быть возобновлен через start метод с определенным TMRESUME.

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

Если TMSUCCESS определяется, часть работы завершилась успешно.

Параметры:
xid - Глобальный идентификатор транзакции, который является тем же самым как идентификатором, используемым ранее в start метод.
flags - Один из TMSUCCESS, TMFAIL, или TMSUSPEND.
Броски:
XAException - Ошибка произошла. Возможные значения XAException являются XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, XAER_PROTO, или XA_RB*.

забыть

void forget(Xid xid)
            throws XAException
Говорит менеджеру ресурсов забывать об эвристическим образом завершенном ответвлении транзакции.

Параметры:
xid - Глобальный идентификатор транзакции.
Броски:
XAException - Ошибка произошла. Возможные значения исключения являются XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, или XAER_PROTO.

getTransactionTimeout

int getTransactionTimeout()
                          throws XAException
Получает текущий набор значений тайм-аута транзакции для этого экземпляра XAResource. Если XAResource.setTransactionTimeout не использовался до вызова этого метода, возвращаемое значение является набором тайм-аута значения по умолчанию для менеджера ресурсов; иначе, значение используется в предыдущем setTransactionTimeout вызов возвращается.

Возвраты:
в секундах тайм-аут транзакции оценивает.
Броски:
XAException - Ошибка произошла. Возможные значения исключения являются XAER_RMERR и XAER_RMFAIL.

isSameRM

boolean isSameRM(XAResource xares)
                 throws XAException
Этот метод вызывают, чтобы определить, является ли экземпляр менеджера ресурсов, представленный целевым объектом, тем же самым как resouce экземпляром менеджера, представленным параметром xares.

Параметры:
xares - XAResource возражает, чей экземпляр менеджера ресурсов должен быть по сравнению с экземпляром менеджера ресурсов целевого объекта.
Возвраты:
истина, если это - тот же самый экземпляр КОМНАТЫ; иначе ложь.
Броски:
XAException - Ошибка произошла. Возможные значения исключения являются XAER_RMERR и XAER_RMFAIL.

подготовиться

int prepare(Xid xid)
            throws XAException
Попросите, чтобы менеджер ресурсов подготовился к фиксации транзакции транзакции, определенной в xid.

Параметры:
xid - Глобальный идентификатор транзакции.
Возвраты:
Значение, указывающее на голос менеджера ресурсов по результату транзакции. Возможные значения: XA_RDONLY или XA_OK. Если менеджер ресурсов хочет откатывать транзакцию, он должен сделать так, повышая соответствующий XAException в подготовить методе.
Броски:
XAException - Ошибка произошла. Возможные значения исключения: XA_RB *, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, или XAER_PROTO.

восстановиться

Xid[] recover(int flag)
              throws XAException
Получает список готовых ответвлений транзакции от менеджера ресурсов. Менеджер транзакций вызывает этот метод во время восстановления, чтобы получить список ответвлений транзакции, которые находятся в настоящий момент в готовых или эвристическим образом завершенных состояниях.

Параметры:
flag - Один из TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS должен использоваться, когда никакие другие флаги не устанавливаются в параметре.
Возвраты:
Менеджер ресурсов возвращает нуль или больше XIDs ответвлений транзакции, которые находятся в настоящий момент в готовом или эвристическим образом завершенном состоянии. Если ошибка происходит во время работы, менеджер ресурсов должен бросить соответствующий XAException.
Броски:
XAException - Ошибка произошла. Возможные значения являются XAER_RMERR, XAER_RMFAIL, XAER_INVAL, и XAER_PROTO.

откат

void rollback(Xid xid)
              throws XAException
Сообщает менеджеру ресурсов, чтобы откатывать работу, сделанную от имени ответвления транзакции.

Параметры:
xid - Глобальный идентификатор транзакции.
Броски:
XAException - Ошибка произошла. Возможные XAExceptions являются XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, или XAER_PROTO.

Если ответвление транзакции уже отмечается только для отката, менеджер ресурсов может выдать одно из исключений XA_RB*. По возврату менеджер ресурсов откатывал работу ответвления и высвободил все сохраненные средства.


setTransactionTimeout

boolean setTransactionTimeout(int seconds)
                              throws XAException

Устанавливает текущее значение тайм-аута транзакции для этого XAResource экземпляр. После того, как набор, это значение тайм-аута не эффективно до setTransactionTimeout вызывается снова с различным значением. Чтобы сбросить значение тайм-аута к значению по умолчанию, используемому менеджером ресурсов, обнулите значение. Если работа тайм-аута выполняется успешно, метод возвращает true; иначе ложь. Если менеджер ресурсов не поддерживает явно установку значения тайм-аута транзакции, этот метод возвращает false.

Параметры:
seconds - В секундах тайм-аут транзакции оценивает.
Возвраты:
истина, если значение тайм-аута транзакции устанавливается успешно; иначе ложь.
Броски:
XAException - Ошибка произошла. Возможные значения исключения являются XAER_RMERR, XAER_RMFAIL, или XAER_INVAL.

запустить

void start(Xid xid,
           int flags)
           throws XAException
Запускает работу от имени ответвления транзакции, определенного в xid. Если TMJOIN определяется, запуск применяется к присоединению к транзакции, ранее замеченной менеджером ресурсов. Если TMRESUME определяется, запуск применяется к возобновлению приостановленной транзакции, определенной в параметре xid. Если ни TMJOIN, ни TMRESUME не определяются и транзакция, определенная xid был ранее замечен менеджером ресурсов, менеджер ресурсов выдает исключение XAException с кодом ошибки XAER_DUPID.

Параметры:
xid - Глобальный идентификатор транзакции, который будет связан с ресурсом.
flags - Один из TMNOFLAGS, TMJOIN, или TMRESUME.
Броски:
XAException - Ошибка произошла. Возможные исключения являются XA_RB *, XAER_RMERR, XAER_RMFAIL, XAER_DUPID, XAER_OUTSIDE, XAER_NOTA, XAER_INVAL, или XAER_PROTO.


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter