[jboss-svn-commits] JBL Code SVN: r31934 - labs/jbosstm/trunk/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Mar 4 08:09:38 EST 2010
Author: jhalliday
Date: 2010-03-04 08:09:37 -0500 (Thu, 04 Mar 2010)
New Revision: 31934
Modified:
labs/jbosstm/trunk/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at/XTSATRecoveryManagerImple.java
Log:
ensure synchronization of recovery modules in XTS.
Modified: labs/jbosstm/trunk/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at/XTSATRecoveryManagerImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at/XTSATRecoveryManagerImple.java 2010-03-04 13:08:00 UTC (rev 31933)
+++ labs/jbosstm/trunk/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at/XTSATRecoveryManagerImple.java 2010-03-04 13:09:37 UTC (rev 31934)
@@ -45,8 +45,9 @@
if (module == null) {
throw new NullPointerException("XTSATRecoveryModule value must be non-null");
}
-
- recoveryModules.add(module);
+ synchronized (recoveryModules) {
+ recoveryModules.add(module);
+ }
}
/**
@@ -58,8 +59,11 @@
* if the module is not currently registered
*/
public void unregisterRecoveryModule(XTSATRecoveryModule module) throws NoSuchElementException {
- if (!recoveryModules.remove(module)) {
- throw new NoSuchElementException();
+
+ synchronized (recoveryModules) {
+ if (!recoveryModules.remove(module)) {
+ throw new NoSuchElementException();
+ }
}
}
@@ -396,7 +400,7 @@
/**
* a map from participant ids to participant recover records
*/
- private List<XTSATRecoveryModule> recoveryModules = new ArrayList<XTSATRecoveryModule>();
+ private final List<XTSATRecoveryModule> recoveryModules = new ArrayList<XTSATRecoveryModule>();
/**
* the tx object store to be used for saving and deleting participant details
More information about the jboss-svn-commits
mailing list