Atomikos TransactionsEssentials: light-weight distributed transactions
Community development "mirror" of atomikos.com/Main/TransactionsEssentials.
New contributors welcome - help us shape transactions for the cloud!
Please star this project to help us grow. Thanks in advance!
Relevant jars are transformed into jakarta equivalents so we support both Javax and Jakarta.
With microservices, the typical monolith ACID transaction becomes split into 2 or more local transactions, one in each microservice. This can quickly lead to inconsistencies - for instance if there are network timeouts or other failures:
Some concrete examples of possible inconsistencies:
We allow 1 global transaction, even across separate microservices and you don't have to code anything for that. In the example shown, a failed call means rollback at microservice 2, and if you want then you can safely try an alternative microservice instead (even within the same global transaction).
Working samples are included in our official download. This enables safer retries (if you do want to retry - that is your choice) plus the notion of a global commit.
For more information on how to fine-tune microservice transactions: check out our online course.
See Getting Started for general documentation.
See documentation at www.atomikos.com/Documentation
Register and download from www.atomikos.com
Register and download from www.atomikos.com and get documentation plus working sample applications
Or check Maven Central (without the samples or documentation)
See our Community Page for how to join us.
Pull latest from repo git pull origin master
and try mvn clean install -Popensource
.
The fastest way to contribute is by starring this project. Thank you :-)
See our contributor guidelines for inspiration and guidance.
See our code of conduct for details and how to report violations.
This GitHub project is merged with - and updated regularly from - our internal development repository to work towards our next open source release (note: stable maintenance releases and our commercial power features are managed outside GitHub).
IMPORTANT: we (Atomikos) don't develop on GitHub ourselves (yet) so you won't see a lot of our commits here - only refreshes when we merge + push to GitHub. That is because at least initially, the sole purpose of this project is to allow interested GitHub community members to fork and contribute useful features to what we have.
Activities here are probably higher when:
After that, we are busy upgrading our customers and on-boarding new customers so you will see less activity here. That's because most customer work is done in our private repositories.
You know how it goes, one always forgets to mention someone - but the following fine people have all delivered memorable technical contributions to this project in one way or another.
So: thank you! (and apologies to the superstars not mentioned here):
See our license policy page.
Do you think something's missing on this page? Please open an issue to let us know!
Copyright (c) 2000-2023, Atomikos - all rights reserved. Visit www.atomikos.com for more...