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


javax.transaction
Интерфейс TransactionSynchronizationRegistry


public interface TransactionSynchronizationRegistry

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

В стандартных средах серверов приложений экземпляр, реализовывая этот интерфейс может искаться стандартным именем через JNDI. Стандартное имя java:comp/TransactionSynchronizationRegistry.

С тех пор:
JTA 1.1

Сводка метода
 java.lang.Object getResource(java.lang.Object key)
          Получите объект из Карты ресурсов, являющихся управляемым для транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.
 boolean getRollbackOnly()
          Получите rollbackOnly состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.
 java.lang.Object getTransactionKey()
          Возвратите непрозрачный объект представить транзакцию, связанную с текущим потоком в то время, когда этот метод вызывают.
 int getTransactionStatus()
          Возвратите состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.
 void putResource(java.lang.Object key, java.lang.Object value)
          Добавьте или замените объект в Карте ресурсов, являющихся управляемым для транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.
 void registerInterposedSynchronization(Synchronization sync)
          Зарегистрируйте экземпляр Синхронизации в специальной семантике упорядочивания.
 void setRollbackOnly()
          Установите rollbackOnly состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.
 

Деталь метода

getTransactionKey

java.lang.Object getTransactionKey()
Возвратите непрозрачный объект представить транзакцию, связанную с текущим потоком в то время, когда этот метод вызывают. Этот объект переопределяет хэш-код и равняется, чтобы позволить его использование в качестве ключа в hashMap для использования вызывающей стороной. Если нет никакой в настоящий момент активной транзакции, возвратите нуль.

Этот объект возвратит тот же самый хэш-код и сравнится равный всем другим объектам, возвращенным, вызывая этот метод от любого компонента, выполняющегося в том же самом контексте транзакции в том же самом сервере приложений.

toString метод возвращает Строку, которая могла бы быть применимой читателем, чтобы полезно понять контекст транзакции. Результат toString иначе не определяется. Определенно, нет никакой гарантии прямой совместимости или обратной совместимости результатов toString.

Объект не обязательно сериализуем, и не имеет никакого определенного поведения вне виртуальной машины откуда, это было получено.

Возвраты:
вызывают непрозрачный объект, представляющий транзакцию, связанную с текущим потоком в это время этот метод.
С тех пор:
JTA 1.1

putResource

void putResource(java.lang.Object key,
                 java.lang.Object value)
Добавьте или замените объект в Карте ресурсов, являющихся управляемым для транзакции, связанной с текущим потоком в то время, когда этот метод вызывают. Предоставленный ключ должен иметь вызывающую сторону - определил class, чтобы не конфликтовать с другими пользователями. class ключа должен гарантировать, что хэш-код и равняется методам, являются подходящими для использования в качестве ключей в карте. Ключ и значение не исследуются или используются реализацией. Общий контракт этого метода является контрактом Map.put(Object, Object) для Карты, которая поддерживает ненулевые ключи и нулевые значения. Например, если уже есть значение, связанное с ключом, оно заменяется параметром, передаваемым по значению.

Параметры:
key - ключ для записи Карты.
value - значение для записи Карты.
Броски:
IllegalStateException - если никакая транзакция не является активной.
java.lang.NullPointerException - если ключ параметра является нулем.
С тех пор:
JTA 1.1

getResource

java.lang.Object getResource(java.lang.Object key)
Получите объект из Карты ресурсов, являющихся управляемым для транзакции, связанной с текущим потоком в то время, когда этот метод вызывают. Ключ должен был быть предоставлен ранее звонком putResouce в той же самой транзакции. Если ключ не может быть найден в текущей Карте ресурса, нуль возвращается. Общий контракт этого метода является контрактом Map.get(Object) для Карты, которая поддерживает ненулевые ключи и нулевые значения. Например, возвращенное значение является нулем, если нет никакой записи для ключа параметра или если значение, связанное с ключом, является фактически нулем.

Параметры:
key - ключ для записи Карты.
Возвраты:
значение связалось с ключом.
Броски:
IllegalStateException - если никакая транзакция не является активной.
java.lang.NullPointerException - если ключ параметра является нулем.
С тех пор:
JTA 1.1

registerInterposedSynchronization

void registerInterposedSynchronization(Synchronization sync)
Зарегистрируйте экземпляр Синхронизации в специальной семантике упорядочивания. Его beforeCompletion вызовут после всего SessionSynchronization beforeCompletion обратные вызовы и обратные вызовы, зарегистрированные непосредственно в Транзакции, но прежде, чем запускается процесс двухфазной фиксации. Точно так же afterCompletion обратный вызов вызовут после того, как двухфазная фиксация завершается, но перед любым SessionSynchronization и Транзакцией afterCompletion обратные вызовы.

beforeCompletion обратный вызов будет вызван в контексте транзакции транзакции, связанной с текущим потоком в то время, когда этот метод вызывают. Допустимые методы включают доступ к ресурсам, например, Соединители. Никакой доступ не предоставляется к "пользовательским компонентам" (например, службы таймера или бобовые методы), поскольку они могли бы изменить состояние данных, являющихся управляемым вызывающей стороной, и могли бы изменить состояние данных, которые были уже сброшены другой вызывающей стороной registerInterposedSynchronization. Общий контекст является компонентным контекстом вызывающей стороны registerInterposedSynchronization.

afterCompletion обратный вызов будет вызван в неопределенном контексте. Никакой доступ не разрешается к "пользовательским компонентам" как определено выше. Ресурсы могут быть закрыты, но никакая транзакционная работа не может быть выполнена с ними.

Если этот метод вызывается без активного контекста транзакции, IllegalStateException бросается.

Если этот метод вызывается после того, как обработка двухфазной фиксации запустилась, IllegalStateException бросается.

Параметры:
sync - экземпляр Синхронизации.
Броски:
IllegalStateException - если никакая транзакция не является активной.
С тех пор:
JTA 1.1

getTransactionStatus

int getTransactionStatus()
Возвратите состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают. Это - результат выполнения TransactionManager.getStatus () в контексте транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.

Возвраты:
состояние транзакции, связанной с текущим потоком в это время этот метод, вызывают.
С тех пор:
JTA 1.1

setRollbackOnly

void setRollbackOnly()
Установите rollbackOnly состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.

Броски:
IllegalStateException - если никакая транзакция не является активной.
С тех пор:
JTA 1.1

getRollbackOnly

boolean getRollbackOnly()
Получите rollbackOnly состояние транзакции, связанной с текущим потоком в то время, когда этот метод вызывают.

Возвраты:
rollbackOnly состояние.
Броски:
IllegalStateException - если никакая транзакция не является активной.
С тех пор:
JTA 1.1


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

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

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

free hit counter