1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/drinkjava2-jTransactions

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

(Пожалуйста, смотрите README-ENGLISH.md)

jTransactions

Открытый лицензионный договор: Apache 2.0

jTransactions — это инструмент для декларативного управления транзакциями, цель которого состоит в том, чтобы выделить функционал Java для транзакций (включая декларативные транзакции) в отдельную универсальную библиотеку. Независимо от используемого DAO-инструмента, с помощью jTransactions можно конфигурировать декларативные транзакции аналогичными способами. jTransactions работает на Java версии 6 или выше.

Основой работы с транзакциями является перехват получения и освобождения соединений DAO-инструментами, а также добавление управления транзакциями. В настоящее время jTransactions включает следующие классы управления соединениями:* ManualTxConnectionManager — самый простой метод управления транзакциями вручную, открывающий и закрывающий их.

  • TinyTxConnectionManager — наиболее часто используемый менеджер транзакций, который управляет транзакциями текущего потока DAO, позволяя одному потоку иметь только одно активное соединение.
  • GroupTxConnectionManager — используется для управления группой DAO-соединений, где один поток может иметь несколько активных соединений, но гарантий целостности данных при коммите нет, что делает его подходящим для незначительных операций.
  • JFinalTxConnectionManager — адаптер для использования DAO-инструментов в среде JFinal.
  • SpringTxConnectionManager — адаптер для использования DAO-инструментов в среде Spring.

Как включить проект?Способ 1: Вручную скачать jtransactions-3.0.0.jar с Maven центрального репозитория и поместить его в директорию классов проекта.

Способ 2: Добавьте следующие строки в файл pom.xml вашего проекта:

<dependency>
   <groupId>com.github.drinkjava2</groupId>
   <artifactId>jtransactions</artifactId>
   <version>3.0.0</version> <!-- или последняя версия Maven -->
</dependency>

Примечание:

  1. Если используется только TinyTxAOP, то вышеуказанной конфигурации достаточно. При использовании SpringTx или JFinal, потребуется добавление зависимостей соответствующих окружений в файл pom.xml.

  2. jTransactions также должен работать вместе с AOP инструментом, поддерживающим интерфейсы спецификации AOP Alliance, такими как Spring или jBeanBox, поскольку принцип декларативных транзакций заключается в перехвате методов, что требует наличия AOP инструмента для реализации этой функции.

  3. jTransactions также должен использовать JDBC инструмент, такой как чистый JDBC, JdbcTemplate, DbUtils-pro или jSqlBox, и гарантировать получение и закрытие соединений от предоставленного менеджера соединений jTransactions.

Пример использования

Ниже приведён пример конфигурации и использования декларативных транзакций с помощью TinyTx. Пример программы можно найти в каталоге юнит-тестов jTransaction:

public class TinyTxTester {
    TinyJdbc tiny = new TinyJdbc((DataSource) getBean(DataSourceBox.class), TinyTxConnectionManager.instance());

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ ElementType.METHOD })
    @AOP
    public static @interface TX {
        public Class<?> value() default TinyTxAOP.class;
    }
}
``````markdown
Приведённый выше пример демонстрирует использование IOC/AOP-инструмента для создания пользовательского декларативного аннотированного транзакционного типа `@TX`. После этого управление соединением JDBC-инструмента можно установить как `TinyTxConnectionManager.instance()` для работы с декларативными транзакциями. Методы, помеченные аннотацией `@TX`, будут откатывать транзакцию при возникновении ошибки времени выполнения.
```Это полное описание jTransactions. Дополнительную информацию можно найти в разделах конфигурации транзакций и примерах в проекте jSqlBox.

Из-за сложности распределённых транзакций в jTransactions нет реализации поддержки распределённых транзакций. Однако в jSqlBox реализованы распределённые транзакции для распределённой базы данных и связанные с ними инструменты. Подробнее см. проект jSqlBox.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Отдельный декларативный проект по сделкам, работает на Java 6 и выше. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/drinkjava2-jTransactions.git
git@api.gitlife.ru:oschina-mirror/drinkjava2-jTransactions.git
oschina-mirror
drinkjava2-jTransactions
drinkjava2-jTransactions
master