Transaction Journal
Concept
In this post I want to discuss about transaction journal concept in application ,in one of our Financial Systems
Intent was to minimize data loss and recovery if primary data source is lost/corrupted/deleted etc
Implementation details
In our systems to integrate with database we used spring jdbc. So we decided to extend its classes with our functionality
Look at below gist from GitHub
As you can see, after query is executed, if its successful , its logged asynchronously
This facilitates a nice medium to replay the queries/events etc
Turns out this feature helped us when there was a production outage. You can read about it here