This sample demonstrates the behavior of different isolation levels using the MVCC Transaction Manager. Two Account records are created and initialized as follows:
Account Id=1, balance=1000
Account Id=2, balance=10000
Then for each isolation level two threads are spawned to update the Account records in parallel transactions as follows:
1) Deposit 100 to Account 1 in transaction 1.
2) Display the resulting balances in transaction 2.
3) Get the resulting balance of Account 1.
4) Deposit the balance of Account 2 to Account 1.
5) Withdraw the previous balance of Account 1 from Account 2.
6) Display the resulting balances.
See instructions here on how to build this and other samples on your development platform. Once built, the sample can be run from the
\target\bin
directory:07_transactions_isolation_levelsBut it is more instructive to run it in your development environment debugger, stepping through the code.