(Пожалуйста, смотрите README-ENGLISH.md)
Открытый лицензионный договор: Apache 2.0
jTransactions — это инструмент для декларативного управления транзакциями, цель которого состоит в том, чтобы выделить функционал Java для транзакций (включая декларативные транзакции) в отдельную универсальную библиотеку. Независимо от используемого DAO-инструмента, с помощью jTransactions можно конфигурировать декларативные транзакции аналогичными способами. jTransactions работает на Java версии 6 или выше.
Основой работы с транзакциями является перехват получения и освобождения соединений DAO-инструментами, а также добавление управления транзакциями. В настоящее время jTransactions включает следующие классы управления соединениями:* ManualTxConnectionManager — самый простой метод управления транзакциями вручную, открывающий и закрывающий их.
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>
Примечание:
Если используется только TinyTxAOP, то вышеуказанной конфигурации достаточно. При использовании SpringTx или JFinal, потребуется добавление зависимостей соответствующих окружений в файл pom.xml
.
jTransactions также должен работать вместе с AOP инструментом, поддерживающим интерфейсы спецификации AOP Alliance, такими как Spring или jBeanBox, поскольку принцип декларативных транзакций заключается в перехвате методов, что требует наличия AOP инструмента для реализации этой функции.
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 )