Перейти к основному содержимому

13 записей с тегом "Transactions"

Посмотреть все теги

· 10 мин. чтения

1. Обзор

В этой статье мы обсудим транзакции только для чтения. Мы поговорим об их назначении и способах их использования, а также проверим некоторые их нюансы, связанные с производительностью и оптимизацией. Для простоты мы сосредоточимся на движке MySQL InnoDB . Но имейте в виду, что некоторая описанная информация может меняться в зависимости от базы данных/механизма хранения.

2. Что такое транзакция?

Транзакция — это атомарная операция, состоящая из одного или нескольких операторов . Это атомарно, потому что все операторы в этой операции либо завершаются успешно (фиксируются), либо терпят неудачу (откатываются), что означает все или ничего. Буква «A» в свойствах ACID представляет атомарность транзакций.

Еще одна важная вещь, которую нужно понять, это то, что все операторы в движке InnoDB становятся транзакциями, если не явно, то неявно . Такую концепцию становится намного сложнее понять, когда мы добавим параллелизм к уравнению. Затем нам нужно прояснить другое свойство ACID, «I» изоляции.

· 4 мин. чтения

1. Обзор

Начиная с версии 4.0, MongoDB поддерживает многодокументные транзакции ACID. Кроме того, Spring Data Lovelace теперь обеспечивает поддержку этих нативных транзакций MongoDB .

В этом руководстве мы обсудим поддержку Spring Data MongoDB для синхронных и реактивных транзакций.

Мы также рассмотрим Spring Data TransactionTemplate для поддержки неродных транзакций.

Чтобы познакомиться с этим модулем Spring Data, ознакомьтесь с нашей вводной статьей .

2. Настройте MongoDB 4.0

· 5 мин. чтения

1. Обзор

В этом руководстве мы обсудим , как правильно настроить Spring Transactions , как использовать аннотацию @Transactional и распространенные ловушки.

Для более подробного обсуждения базовой конфигурации сохраняемости ознакомьтесь с учебным пособием Spring with JPA .

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

2. Настройте транзакции

· 14 мин. чтения

1. Введение

В этом руководстве мы поймем, что подразумевается под транзакциями в Java. Таким образом, мы поймем, как выполнять локальные транзакции ресурсов и глобальные транзакции. Это также позволит нам изучить различные способы управления транзакциями в Java и Spring.

2. Что такое транзакция?

Транзакции в Java, как правило, относятся к серии действий, которые должны быть успешно завершены . Следовательно, если одно или несколько действий терпят неудачу, все остальные действия должны быть отменены, оставляя состояние приложения неизменным . Это необходимо для гарантии того, что целостность состояния приложения никогда не будет нарушена.

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

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы обсудим включение блокировки транзакций в Spring Data JPA для пользовательских методов запросов и предопределенных методов CRUD репозитория.

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

2. Типы блокировки

В JPA определены два основных типа блокировки: пессимистическая блокировка и оптимистичная блокировка.

· 8 мин. чтения

1. Введение

В этом руководстве мы рассмотрим аннотацию @Transactional , а также ее параметры изоляции и распространения .

2. Что такое @Transactional?

Мы можем использовать @Transactional для включения метода в транзакцию базы данных.

· 7 мин. чтения

1. Введение

В этой статье мы обсудим варианты реализации транзакции между микросервисами.

Мы также рассмотрим некоторые альтернативы транзакциям в сценарии распределенного микросервиса.

2. Избегайте транзакций между микросервисами

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

· 10 мин. чтения

1. Обзор

Сеанс на запрос — это транзакционный шаблон, связывающий жизненные циклы сеанса постоянства и запроса. Неудивительно, что Spring поставляется со своей собственной реализацией этого шаблона, называемой OpenSessionInViewInterceptor , для облегчения работы с ленивыми ассоциациями и, следовательно, повышения производительности труда разработчиков.

В этом уроке мы сначала узнаем, как работает перехватчик внутри, а затем мы увидим, как этот спорный шаблон может быть обоюдоострым мечом для наших приложений!

2. Знакомство с открытой сессией в представлении

Чтобы лучше понять роль Open Session in View (OSIV), давайте предположим, что у нас есть входящий запрос:

· 2 мин. чтения

1. Обзор

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

В этом кратком руководстве мы рассмотрим несколько способов обнаружения транзакций Spring в нашем коде.

2. Конфигурация транзакции

Чтобы транзакции работали в Spring, необходимо включить управление транзакциями. Spring по умолчанию включит управление транзакциями, если мы используем проект Spring Boot с зависимостями spring-data-* или spring-tx . В противном случае нам придется включить транзакции и явно указать диспетчер транзакций.

· 6 мин. чтения

1. Обзор

Аннотация Spring @Transactional предоставляет хороший декларативный API для обозначения границ транзакций.

За кулисами аспект заботится о создании и обслуживании транзакций, поскольку они определены в каждом экземпляре аннотации @Transactional . Такой подход позволяет легко отделить нашу основную бизнес -логику от сквозных задач, таких как управление транзакциями.

В этом уроке мы увидим, что это не всегда лучший подход. Мы рассмотрим, какие программные альтернативы предоставляет Spring, например TransactionTemplate , и причины их использования.

2. Проблемы в раю