summaryrefslogtreecommitdiff
path: root/src/main/java/com/amazon/carbonado/spi/TransactionPair.java
diff options
context:
space:
mode:
authorBrian S. O'Neill <bronee@gmail.com>2008-01-25 19:56:16 +0000
committerBrian S. O'Neill <bronee@gmail.com>2008-01-25 19:56:16 +0000
commit095fdc14f030acf61bee801562b8bdafb7d54e33 (patch)
treeac96856309fe6bc891114f09401dfe54cc49ae12 /src/main/java/com/amazon/carbonado/spi/TransactionPair.java
parent81137fdb2509b83de8b509e6a4417b37ba3a6d63 (diff)
Add transaction detach/attach methods.
Diffstat (limited to 'src/main/java/com/amazon/carbonado/spi/TransactionPair.java')
-rw-r--r--src/main/java/com/amazon/carbonado/spi/TransactionPair.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/amazon/carbonado/spi/TransactionPair.java b/src/main/java/com/amazon/carbonado/spi/TransactionPair.java
index d97aef4..ff07bc2 100644
--- a/src/main/java/com/amazon/carbonado/spi/TransactionPair.java
+++ b/src/main/java/com/amazon/carbonado/spi/TransactionPair.java
@@ -86,4 +86,24 @@ public class TransactionPair implements Transaction {
return mPrimaryTransaction.getIsolationLevel()
.lowestCommon(mSecondaryTransaction.getIsolationLevel());
}
+
+ public void detach() {
+ mPrimaryTransaction.detach();
+ try {
+ mSecondaryTransaction.detach();
+ } catch (IllegalStateException e) {
+ mPrimaryTransaction.attach();
+ throw e;
+ }
+ }
+
+ public void attach() {
+ mPrimaryTransaction.attach();
+ try {
+ mSecondaryTransaction.attach();
+ } catch (IllegalStateException e) {
+ mPrimaryTransaction.detach();
+ throw e;
+ }
+ }
}