# transaction-management

Published articles for transaction-management.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Optimistic Locking Overview

DevFeed: [Optimistic Locking Overview](<https://devfeed.tech/articles/optimistic-locking-overview-26514.md>)

Original publisher: [Read original article](<https://medium.com/engineering-housing/optimistic-locking-overview-6b30315e759b?source=rss----3a69e32e2594---4>)

Author: somesh sharma

Published: 2025-06-19T09:02:40Z

Content type: tutorial

Language: en

Sources: [Housing.com](<https://devfeed.tech/sources/housing-com.md>)

Topics: [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [isolation-level](<https://devfeed.tech/tags/isolation-level.md>), [locks](<https://devfeed.tech/tags/locks.md>), [optimistic-locking](<https://devfeed.tech/tags/optimistic-locking.md>), [retry](<https://devfeed.tech/tags/retry.md>), [sql](<https://devfeed.tech/tags/sql.md>), [stateless](<https://devfeed.tech/tags/stateless.md>), [transaction-management](<https://devfeed.tech/tags/transaction-management.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

An overview of optimistic locking as a concurrency-control mechanism for database transactions. It explains how version columns detect conflicting updates, when optimistic locking is suitable, and when transaction isolation may make it unnecessary.

### Source excerpt

Optimistic locking is a concurrency control mechanism where we assume that multiple transactions can safely access data without conflict, allowing them to proceed without locking the data upfront. Unlike pessimistic locking, where resources are locked to avoid conflicts, optimistic locking allows transactions to proceed without locks and checks for conflicts only when updating the data. If a conflict is detected (e.g., another transaction has already modified the data), the operation fails, and you can retry it. When Should You Use Optimistic Locking? Optimistic locking is ideal for use in scenarios where: Low contention exists: If it's unlikely that multiple users or processes will try to update the same data at the same time, optimistic locking is a good fit. This is especially true in systems where most operations involve reading data rather than writing it. High read-to-write ratio: If your application is mostly about reading data and writing happens less frequently, optimistic locking helps avoid the overhead of locking rows during reads. Non-critical updates: In cases where it's okay to retry a failed update without much impact, optimistic locking is a good choice. When conflicts arise, either the user or the system can simply retry. Stateless operations: Optimistic locking is suitable in stateless environments where holding onto locks across multiple requests or sessions isn't feasible. Long-running transactions: If your transactions take a long time to complete, holding locks during the entire process isn't feasible. Optimistic locking provides flexibility while still maintaining data integrity. How Optimistic Locking Works in Databases In databases, optimistic locking is usually implemented with a version column. Each row in the database has a version field (like a number or timestamp) that gets updated whenever the row is modified. When updating a record, the database checks if the version in the database matches the version the transaction originally read

## Ep. 12: Implementing Robust Transaction Handling in Go

DevFeed: [Ep. 12: Implementing Robust Transaction Handling in Go](<https://devfeed.tech/articles/ep-12-implementing-robust-transaction-handling-in-go-22252.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/07/implementing-robust-transaction-handling-in-go-ep-12.html>)

Published: 2024-08-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Database](<https://devfeed.tech/topics/database.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [context](<https://devfeed.tech/topics/context.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [advanced-transaction-management-go](<https://devfeed.tech/tags/advanced-transaction-management-go.md>), [atomic-database-operations-go](<https://devfeed.tech/tags/atomic-database-operations-go.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [configuring-transaction-middleware-go](<https://devfeed.tech/tags/configuring-transaction-middleware-go.md>), [context](<https://devfeed.tech/tags/context.md>), [database](<https://devfeed.tech/tags/database.md>), [database-transactions-in-go](<https://devfeed.tech/tags/database-transactions-in-go.md>), [flexible-transaction-management-go](<https://devfeed.tech/tags/flexible-transaction-management-go.md>), [go](<https://devfeed.tech/tags/go.md>), [go-authentication-authorization-middleware](<https://devfeed.tech/tags/go-authentication-authorization-middleware.md>), [go-data-integrity-consistency](<https://devfeed.tech/tags/go-data-integrity-consistency.md>), [go-middleware-integration](<https://devfeed.tech/tags/go-middleware-integration.md>), [go-request-handling-transactions](<https://devfeed.tech/tags/go-request-handling-transactions.md>), [go-transaction-handling](<https://devfeed.tech/tags/go-transaction-handling.md>), [go-transaction-middleware](<https://devfeed.tech/tags/go-transaction-middleware.md>), [go-transaction-rollback-commit](<https://devfeed.tech/tags/go-transaction-rollback-commit.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logging-transaction-operations-go](<https://devfeed.tech/tags/logging-transaction-operations-go.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [middleware-functions-integration-go](<https://devfeed.tech/tags/middleware-functions-integration-go.md>), [reliable-go-applications](<https://devfeed.tech/tags/reliable-go-applications.md>), [scalable-software-systems-go](<https://devfeed.tech/tags/scalable-software-systems-go.md>), [secure-data-transactions-go](<https://devfeed.tech/tags/secure-data-transactions-go.md>), [transaction-context-handling-go](<https://devfeed.tech/tags/transaction-context-handling-go.md>), [transaction-interfaces-go](<https://devfeed.tech/tags/transaction-interfaces-go.md>), [transaction-management](<https://devfeed.tech/tags/transaction-management.md>), [transaction-management-in-go](<https://devfeed.tech/tags/transaction-management-in-go.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

Episode 12 explains how to implement transaction management in Go using middleware, interfaces, context, logging, and database operations. It covers committing successful operations, rolling back on errors, maintaining atomicity, and integrating transaction handling with authentication and authorization middleware.

### Source excerpt

Introduction: Welcome to Episode 12 of our Ultimate Software Design series! In this final installment, Bill guides us through the advanced implementation of transaction management in Go, ensuring robust and consistent data operations within applications. By focusing on middleware integration, Bill provides a comprehensive strategy for handling database transactions, committing successful operations, and rolling back when errors occur. Learn to configure and log transaction middleware for tracking commits and rollbacks.'

## Events in spring

DevFeed: [Events in spring](<https://devfeed.tech/articles/events-in-spring-27279.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201708/spring-events/>)

Published: 2017-08-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>), [async](<https://devfeed.tech/topics/async.md>), [generics](<https://devfeed.tech/topics/generics.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [framework](<https://devfeed.tech/tags/framework.md>), [generics](<https://devfeed.tech/tags/generics.md>), [spring](<https://devfeed.tech/tags/spring.md>), [transaction-management](<https://devfeed.tech/tags/transaction-management.md>)

### AI overview

A tutorial on Spring Framework event handling, covering event publication, listener methods, generic event resolution, SpEL filtering, transaction-bound listeners, and asynchronous execution.

### Source excerpt

With spring 4.2 (released more than one year ago) serious improvements regarding embedded events were made. You probably already know it, but I've never had a chance to properly investigate it. Lately, when digging into code base of the system I'm currently working on I got an opportunity to see it in action and after quick glimpse, I decided to investigate it a bit further. Read more

## Take Realm to the next level with Kotlin

DevFeed: [Take Realm to the next level with Kotlin](<https://devfeed.tech/articles/take-realm-to-the-next-level-with-kotlin-27188.md>)

Original publisher: [Read original article](<https://antonioleiva.com/kotlin-realm-extensions>)

Published: 2017-02-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Antonio Leiva](<https://devfeed.tech/sources/antonio-leiva.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [Library](<https://devfeed.tech/topics/library.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [threads](<https://devfeed.tech/tags/threads.md>), [transaction-management](<https://devfeed.tech/tags/transaction-management.md>)

### AI overview

This article explains how Kotlin extension functions can simplify Android development and introduces Kotlin Realm Extensions, a library intended to reduce Realm boilerplate and provide a higher-level abstraction for common operations.

### Source excerpt

Everything Android, Kotlin and other random topics