Past Meetup

Compensating Transactions: When ACID is too much

This Meetup is past

24 people went

Location image of event venue


Presented by Dr Paul Robinson, Senior Software Engineer at JBoss by Red Hat.

Please note that to secure your place you have to register at the London JBUG Registration Page (

ACID transactions are a useful tool for application developers and can provide very strong guarantees, even in the presence of failures. However, ACID transactions are not always appropriate for every situation.

ACID transactions are achieved by holding locks on resources and require the ability to rollback changes. In some situations, the blocking nature of the protocol can be too limiting to performance, especially if the transaction is distributed. Also, some actions can’t simply be rolled back; for example, sending an email.

A common strategy for applications that can’t use ACID, is to throw out transactions altogether. However, with this approach you are missing out on many of the benefits that transactions can provide. There are alternative transaction models that relax some of the ACID properties, while still retaining many of the strong guarantees essential for building robust enterprise applications. These should be considered before deciding not to use transactions at all.

In this talk, I’ll present one such alternative to ACID transactions: compensation-based transactions. I’ll provide an overview of ACID and it’s limitations and describe some use-cases where ACID is not appropriate. I’ll then present our new API for compensation-based transactions and demonstrate how it can be used to address these problems. Finally, I’ll present our future plans to improve and expand our support for compensation-based transactions.

To read the 'Compensating Transactions: When ACID is too much' blog series please visit


Dr Paul Robinson is a Senior Software Engineer at JBoss by Red Hat where he currently leads the Web Service Transactions project.

Paul has worked in the field of transactions and Java middleware for over 10 years. His experience began at Hewlett Packard where he was a member of the Transactions Team. Here he contributed to the first Web service transactions implementation. Previously, Paul headed up the consultancy arm of Arjuna Technologies, helping high-profile customers deploy JBoss Transactions, JBossWS and also Arjuna's Cloud Computing product.

Paul received a PhD in middleware and non-repudiation from the University of Newcastle upon Tyne, where he now holds the role of Visiting Research Fellow. In this role he teaches Transactions and Java EE to Advanced-Masters students.


18:00 - 18:15 - Coffee, Welcome and Networking
18:15 - 19:30 - 'Compensating Transactions: When ACID is too much' by Dr Paul Robinson
19:30 - 20:00 - Lightning Talks & Problem Solving Sessions
20:00 - 20:30 - Beer, Pizza and Networking

‘Problem Solving’ Sessions

Following your suggestions, we’re introducing the new Problem Solving panel sessions which give you an opportunity to discuss various JBoss-related problems you may want to share and discuss with the rest of the JBUG members. If you want to ask others for help and advice, discuss the issues, listen to suggestions and find the solutions – let us know! Email your topic to [masked] and we will be more than happy to add your session to the agenda.

Lightning Talks

We are also opening up the floor to anyone using JBoss who has a tale to share. We are looking for a number of lightning talks 5 - 10 minutes in length where you can share your experiences, problems or wonderful solutions with the rest of the community. This is a huge opportunity to develop new or hone existing speaking skills!If you are interested, please send the title of your talk to [masked]