[jboss-svn-commits] JBL Code SVN: r29635 - in labs/jbosstm/trunk: ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 16 09:33:20 EDT 2009


Author: jhalliday
Date: 2009-10-16 09:33:19 -0400 (Fri, 16 Oct 2009)
New Revision: 29635

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/JDBCEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
   labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/DefaultLogEnvironmentBean.java
   labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/LoggingEnvironmentBean.java
Log:
Make EnvironmentBean fields volatile. JBTM-626


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -33,39 +33,39 @@
 @PropertyPrefix(prefix = "com.arjuna.ats.arjuna.coordinator.")
 public class CoordinatorEnvironmentBean implements CoordinatorEnvironmentBeanMBean
 {
-    private String actionStore = ArjunaNames.Implementation_ObjectStore_defaultActionStore().stringForm();
-    private boolean asyncCommit = false;
-    private boolean asyncPrepare = false;
-    private boolean asyncRollback = false;
-    private boolean commitOnePhase = true;
-    private boolean maintainHeuristics = true;
-    private boolean transactionLog = false; // rename to useTransactionLog ?
+    private volatile String actionStore = ArjunaNames.Implementation_ObjectStore_defaultActionStore().stringForm();
+    private volatile boolean asyncCommit = false;
+    private volatile boolean asyncPrepare = false;
+    private volatile boolean asyncRollback = false;
+    private volatile boolean commitOnePhase = true;
+    private volatile boolean maintainHeuristics = true;
+    private volatile boolean transactionLog = false; // rename to useTransactionLog ?
 
     // public static final String TRANSACTION_LOG_REMOVAL_MARKER = "com.arjuna.ats.arjuna.coordinator.transactionLog.removalMarker";
     //private String removalMarker;
 
     @FullPropertyName(name = "com.arjuna.ats.arjuna.coordinator.transactionLog.writeOptimisation")
-    private boolean writeOptimisation = false;
+    private volatile boolean writeOptimisation = false;
 
-    private boolean readonlyOptimisation = true;
-    private boolean classicPrepare = false;
-    private boolean enableStatistics = false;
-    private boolean sharedTransactionLog = false;
-    private boolean startDisabled = false; // rename/repurpose to 'enable'?
-    private String txReaperMode = "DYNAMIC"; // rename bool txReaperModeDynamic?
+    private volatile boolean readonlyOptimisation = true;
+    private volatile boolean classicPrepare = false;
+    private volatile boolean enableStatistics = false;
+    private volatile boolean sharedTransactionLog = false;
+    private volatile boolean startDisabled = false; // rename/repurpose to 'enable'?
+    private volatile String txReaperMode = "DYNAMIC"; // rename bool txReaperModeDynamic?
 
-    private long txReaperTimeout = TransactionReaper.defaultCheckPeriod;
-    private long txReaperCancelWaitPeriod = TransactionReaper.defaultCancelWaitPeriod;
-    private long txReaperCancelFailWaitPeriod = TransactionReaper.defaultCancelFailWaitPeriod;
-    private int txReaperZombieMax = TransactionReaper.defaultZombieMax;
+    private volatile long txReaperTimeout = TransactionReaper.defaultCheckPeriod;
+    private volatile long txReaperCancelWaitPeriod = TransactionReaper.defaultCancelWaitPeriod;
+    private volatile long txReaperCancelFailWaitPeriod = TransactionReaper.defaultCancelFailWaitPeriod;
+    private volatile int txReaperZombieMax = TransactionReaper.defaultZombieMax;
     
-    private int defaultTimeout = 60; // seconds
-    private boolean transactionStatusManagerEnable = true;
+    private volatile int defaultTimeout = 60; // seconds
+    private volatile boolean transactionStatusManagerEnable = true;
 
     @FullPropertyName(name = "com.arjuna.ats.coordinator.beforeCompletionWhenRollbackOnly")
-    private boolean beforeCompletionWhenRollbackOnly = false;
+    private volatile boolean beforeCompletionWhenRollbackOnly = false;
     @FullPropertyName(name = "com.arjuna.ats.coordinator.checkedActionFactory")
-    private String checkedActionFactory = null;
+    private volatile String checkedActionFactory = null;
 
 
     /**

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -38,28 +38,28 @@
 public class CoreEnvironmentBean implements CoreEnvironmentBeanMBean
 {
     @FullPropertyName(name = "com.arjuna.ats.arjuna.common.propertiesFile")
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.internal.arjuna.inventory.staticInventoryImple")
-    private List<String> staticInventoryElements = new ArrayList<String>();
+    private volatile List<String> staticInventoryElements = new ArrayList<String>();
 
     @FullPropertyName(name = "com.arjuna.ats.arjuna.common.varDir")
-    private String varDir = System.getProperty("user.dir") + File.separator + "var" + File.separator + "tmp";
+    private volatile String varDir = System.getProperty("user.dir") + File.separator + "var" + File.separator + "tmp";
 
     @FullPropertyName(name = "com.arjuna.ats.arjuna.xa.nodeIdentifier")
-    private String nodeIdentifier = null;
+    private volatile String nodeIdentifier = null;
 
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.utils.SocketProcessIdPort")
-    private int socketProcessIdPort = 0;
+    private volatile int socketProcessIdPort = 0;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.utils.SocketProcessIdMaxPorts")
-    private int socketProcessIdMaxPorts = 1;
+    private volatile int socketProcessIdMaxPorts = 1;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.utils.processImplementation")
-    private String processImplementation = Utility.defaultProcessId;
+    private volatile String processImplementation = Utility.defaultProcessId;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.utils.pid")
-    private int pid = -1;
+    private volatile int pid = -1;
 
-    private boolean allowMultipleLastResources = false;
-    private boolean disableMultipleLastResourcesWarning = false;
+    private volatile boolean allowMultipleLastResources = false;
+    private volatile boolean disableMultipleLastResourcesWarning = false;
 
 //    @FullPropertyName(name = "jbossts.bind.address")
 //    private String bindAddress;

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -36,42 +36,42 @@
 @PropertyPrefix(prefix = "com.arjuna.ats.arjuna.objectstore.")
 public class ObjectStoreEnvironmentBean implements ObjectStoreEnvironmentBeanMBean
 {
-    private String localOSRoot = "defaultStore";
-    private String objectStoreDir = System.getProperty("user.dir") + File.separator + "ObjectStore";
-    private boolean objectStoreSync = true;
-    private String objectStoreType = ArjunaNames.Implementation_ObjectStore_defaultStore().stringForm();
-    private int hashedDirectories = HashedStore.DEFAULT_NUMBER_DIRECTORIES;
-    private boolean transactionSync = true;
+    private volatile String localOSRoot = "defaultStore";
+    private volatile String objectStoreDir = System.getProperty("user.dir") + File.separator + "ObjectStore";
+    private volatile boolean objectStoreSync = true;
+    private volatile String objectStoreType = ArjunaNames.Implementation_ObjectStore_defaultStore().stringForm();
+    private volatile int hashedDirectories = HashedStore.DEFAULT_NUMBER_DIRECTORIES;
+    private volatile boolean transactionSync = true;
     
-    private String jdbcUserDbAccess = null;
-    private String jdbcTxDbAccess = null;
-    private int jdbcPoolSizeInitial = 1;
-    private int jdbcPoolSizeMaximum = 1;
-    private boolean jdbcPoolPutConnections = false;
+    private volatile String jdbcUserDbAccess = null;
+    private volatile String jdbcTxDbAccess = null;
+    private volatile int jdbcPoolSizeInitial = 1;
+    private volatile int jdbcPoolSizeMaximum = 1;
+    private volatile boolean jdbcPoolPutConnections = false;
 
-    private int share = ObjectStore.OS_UNKNOWN;
-    private int hierarchyRetry = 100;
-    private int hierarchyTimeout = 100;
+    private volatile int share = ObjectStore.OS_UNKNOWN;
+    private volatile int hierarchyRetry = 100;
+    private volatile int hierarchyTimeout = 100;
 
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.size")
-    private int cacheStoreSize = 10240;  // size in bytes
+    private volatile int cacheStoreSize = 10240;  // size in bytes
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.sync")
-    private boolean cacheStoreSync = false;
+    private volatile boolean cacheStoreSync = false;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.removedItems")
-    private int cacheStoreRemovedItems = 256;
+    private volatile int cacheStoreRemovedItems = 256;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.scanPeriod")
-    private int cacheStoreScanPeriod = 120000;
+    private volatile int cacheStoreScanPeriod = 120000;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.workItems")
-    private int cacheStoreWorkItems = 100;
+    private volatile int cacheStoreWorkItems = 100;
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.objectstore.cacheStore.hash")
-    private int cacheStoreHash = 128;
+    private volatile int cacheStoreHash = 128;
 
     @FullPropertyName(name = "com.arjuna.ats.arjuna.coordinator.transactionLog.synchronousRemoval")
-    private boolean synchronousRemoval = true;
+    private volatile boolean synchronousRemoval = true;
     @FullPropertyName(name = "com.arjuna.ats.arjuna.coordinator.transactionLog.size")
-    private long txLogSize = 10 * 1024 * 1024;  // default maximum log txLogSize in bytes;
+    private volatile long txLogSize = 10 * 1024 * 1024;  // default maximum log txLogSize in bytes;
     @FullPropertyName(name = "com.arjuna.ats.arjuna.coordinator.transactionLog.purgeTime")
-    private long purgeTime = 100000; // in milliseconds
+    private volatile long purgeTime = 100000; // in milliseconds
 
 
     /**

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -38,28 +38,28 @@
 @PropertyPrefix(prefix = "com.arjuna.ats.arjuna.recovery.")
 public class RecoveryEnvironmentBean implements RecoveryEnvironmentBeanMBean
 {
-    private int periodicRecoveryPeriod = PeriodicRecovery._defaultRecoveryPeriod;
-    private int recoveryBackoffPeriod = PeriodicRecovery._defaultBackoffPeriod;
-    private boolean recoveryListener = true;
-    private int recoveryPort = 0;
-    private String recoveryAddress = "localhost";
-    private int transactionStatusManagerPort = 0;
-    private String transactionStatusManagerAddress = "localhost";
+    private volatile int periodicRecoveryPeriod = PeriodicRecovery._defaultRecoveryPeriod;
+    private volatile int recoveryBackoffPeriod = PeriodicRecovery._defaultBackoffPeriod;
+    private volatile boolean recoveryListener = true;
+    private volatile int recoveryPort = 0;
+    private volatile String recoveryAddress = "localhost";
+    private volatile int transactionStatusManagerPort = 0;
+    private volatile String transactionStatusManagerAddress = "localhost";
 
-    private int expiryScanInterval = 12; // hours
-    private int transactionStatusManagerExpiryTime = 12; // hours
+    private volatile int expiryScanInterval = 12; // hours
+    private volatile int transactionStatusManagerExpiryTime = 12; // hours
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.expiryScanner")
-    private List<String> expiryScanners = new ArrayList<String>();
+    private volatile List<String> expiryScanners = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.recoveryExtension")
-    private List<String> recoveryExtensions = new ArrayList<String>();
+    private volatile List<String> recoveryExtensions = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.recoveryActivator")
-    private List<String> recoveryActivators = new ArrayList<String>();
+    private volatile List<String> recoveryActivators = new ArrayList<String>();
 
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.recovery.listener.timeoutsocket")
-    private boolean timeoutSocket = false;
+    private volatile boolean timeoutSocket = false;
 
     /**
      * Returns the interval between recovery scans, in seconds.

Modified: labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -35,13 +35,13 @@
 public class TxojEnvironmentBean implements TxojEnvironmentBeanMBean
 {
     @FullPropertyName(name = "com.arjuna.ats.txoj.common.propertiesFile")
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
-    private String lockStoreDir = System.getProperty("user.dir") + File.separator + "LockStore";
-    private String lockStoreType = null;
-    private String multipleLockStore = null;
-    private String singleLockStore = TxOJNames.Implementation_LockStore_defaultStore().stringForm();
-    private boolean allowNestedLocking = true;
+    private volatile String lockStoreDir = System.getProperty("user.dir") + File.separator + "LockStore";
+    private volatile String lockStoreType = null;
+    private volatile String multipleLockStore = null;
+    private volatile String singleLockStore = TxOJNames.Implementation_LockStore_defaultStore().stringForm();
+    private volatile boolean allowNestedLocking = true;
 
     /**
      * Returns the name of the properties file.

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/JDBCEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/JDBCEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/JDBCEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -34,9 +34,9 @@
 public class JDBCEnvironmentBean implements JDBCEnvironmentBeanMBean
 {
     @FullPropertyName(name = "com.arjuna.ats.jdbc.common.propertiesFile")
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
-    private int isolationLevel = Connection.TRANSACTION_SERIALIZABLE;
+    private volatile int isolationLevel = Connection.TRANSACTION_SERIALIZABLE;
 
     /**
      * Returns the name of the properties file.

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -36,38 +36,38 @@
 public class JTAEnvironmentBean implements JTAEnvironmentBeanMBean
 {
     @FullPropertyName(name = "com.arjuna.ats.jta.common.propertiesFile")
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
-    private boolean supportSubtransactions = false;
+    private volatile boolean supportSubtransactions = false;
 
-    private String jtaTMImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple";
-    private String jtaUTImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple";
-    private String jtaTSRImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple";
+    private volatile String jtaTMImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple";
+    private volatile String jtaUTImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple";
+    private volatile String jtaTSRImplementation = "com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple";
 
-    private int xaBackoffPeriod = 20000;
+    private volatile int xaBackoffPeriod = 20000;
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.xaRecoveryNode")
-    private List<String> xaRecoveryNodes = new ArrayList<String>();
+    private volatile List<String> xaRecoveryNodes = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.recovery.XAResourceRecovery")
-    private List<String> xaResourceRecoveryInstances = new ArrayList<String>();
+    private volatile List<String> xaResourceRecoveryInstances = new ArrayList<String>();
 
-    private boolean xaRollbackOptimization = false;
-    private boolean xaAssumeRecoveryComplete = false;
+    private volatile boolean xaRollbackOptimization = false;
+    private volatile boolean xaAssumeRecoveryComplete = false;
 
     // com.arjuna.ats.jta.utils.
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.UTJNDIContext")
-    private String jtaUTJNDIContext = "java:/UserTransaction";
+    private volatile String jtaUTJNDIContext = "java:/UserTransaction";
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.TMJNDIContext")
-    private String jtaTMJNDIContext =  "java:/TransactionManager";
+    private volatile String jtaTMJNDIContext =  "java:/TransactionManager";
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.TSRJNDIContext")
-    private String jtaTSRJNDIContext = "java:/TransactionSynchronizationRegistry";
+    private volatile String jtaTSRJNDIContext = "java:/TransactionSynchronizationRegistry";
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.xaErrorHandler")
-    private List<String> xaErrorHandlers = new ArrayList<String>();
+    private volatile List<String> xaErrorHandlers = new ArrayList<String>();
 
-    private boolean xaTransactionTimeoutEnabled = true;
-    private String lastResourceOptimisationInterface = null;
+    private volatile boolean xaTransactionTimeoutEnabled = true;
+    private volatile String lastResourceOptimisationInterface = null;
 
     /**
      * Returns the name of the properties file.

Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -34,33 +34,33 @@
 public class JTSEnvironmentBean implements JTSEnvironmentBeanMBean
 {
     @FullPropertyName(name= "com.arjuna.ats.jts.common.propertiesFile")
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
-    private boolean transactionManager = false;
-    private boolean needTranContext = false;
-    private boolean alwaysPropagateContext = false;
-    private String interposition = null;
-    private boolean checkedTransactions = false;
-    private boolean supportSubtransactions = true;
-    private boolean supportRollbackSync = true;
-    private boolean supportInterposedSynchronization = false;
-    private int defaultTimeout = 60; // deprecated
-    private boolean propagateTerminator = false;
-    private String contextPropMode = null;
-    private int recoveryManagerPort = 4711;
-    private String recoveryManagerAddress = "";
+    private volatile boolean transactionManager = false;
+    private volatile boolean needTranContext = false;
+    private volatile boolean alwaysPropagateContext = false;
+    private volatile String interposition = null;
+    private volatile boolean checkedTransactions = false;
+    private volatile boolean supportSubtransactions = true;
+    private volatile boolean supportRollbackSync = true;
+    private volatile boolean supportInterposedSynchronization = false;
+    private volatile int defaultTimeout = 60; // deprecated
+    private volatile boolean propagateTerminator = false;
+    private volatile String contextPropMode = null;
+    private volatile int recoveryManagerPort = 4711;
+    private volatile String recoveryManagerAddress = "";
 
     @FullPropertyName(name = "com.arjuna.ats.jts.ots_1_0.timeoutPropagation")
-    private boolean timeoutPropagation = true;
+    private volatile boolean timeoutPropagation = true;
 
     @FullPropertyName(name = "com.arjuna.ats.jts.recovery.issueRecoveryRollback")
-    private boolean issueRecoveryRollback = true;
+    private volatile boolean issueRecoveryRollback = true;
 
     @FullPropertyName(name = "com.arjuna.ats.jts.recovery.commitTransactionRetryLimit")
-    private int commitedTransactionRetryLimit = 3;
+    private volatile int commitedTransactionRetryLimit = 3;
 
     @FullPropertyName(name = "com.arjuna.ats.jts.recovery.assumedObjectNotExist")
-    private int assumedObjectNotExist = 10;
+    private volatile int assumedObjectNotExist = 10;
 
 
     /**

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -34,21 +34,21 @@
 @PropertyPrefix(prefix = "com.arjuna.orbportability.")
 public class OrbPortabilityEnvironmentBean implements OrbPortabilityEnvironmentBeanMBean
 {
-    private String propertiesFile = "";
+    private volatile String propertiesFile = "";
 
-    private String corbaDiagnostics = null; // key only
-    private String initialReferencesRoot = com.arjuna.orbportability.common.Configuration.configFileRoot();
-    private String initialReferencesFile = com.arjuna.orbportability.common.Configuration.configFile();
-    private String fileDir = null;
-    private String resolveService = "CONFIGURATION_FILE";
+    private volatile String corbaDiagnostics = null; // key only
+    private volatile String initialReferencesRoot = com.arjuna.orbportability.common.Configuration.configFileRoot();
+    private volatile String initialReferencesFile = com.arjuna.orbportability.common.Configuration.configFile();
+    private volatile String fileDir = null;
+    private volatile String resolveService = "CONFIGURATION_FILE";
 
     @ConcatenationPrefix(prefix = "com.arjuna.orbportability.eventHandler")
-    private List<String> eventHandlers = new ArrayList<String>();
+    private volatile List<String> eventHandlers = new ArrayList<String>();
 
-    private String orbImplementation = null;
-    private String oaImplementation = null;
-    private String bindMechanism = "CONFIGURATION_FILE";
-    private String defaultConfigurationFilename = null;
+    private volatile String orbImplementation = null;
+    private volatile String oaImplementation = null;
+    private volatile String bindMechanism = "CONFIGURATION_FILE";
+    private volatile String defaultConfigurationFilename = null;
 
     /**
      * Returns the name of the properties file.

Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/DefaultLogEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/DefaultLogEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/DefaultLogEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -30,14 +30,14 @@
 @PropertyPrefix(prefix = "com.arjuna.common.util.logging.default.")
 public class DefaultLogEnvironmentBean
 {
-    private boolean showLogName = false;
-    private boolean showShortLogName = true;
-    private boolean showDate = true;
-    private boolean logFileAppend = true;
+    private volatile boolean showLogName = false;
+    private volatile boolean showShortLogName = true;
+    private volatile boolean showDate = true;
+    private volatile boolean logFileAppend = true;
 
-    private String defaultLevel = "info";
+    private volatile String defaultLevel = "info";
 
-    private String logFile = "error.log";
+    private volatile String logFile = "error.log";
 
 
     /**

Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/LoggingEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/LoggingEnvironmentBean.java	2009-10-16 13:08:50 UTC (rev 29634)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/logging/LoggingEnvironmentBean.java	2009-10-16 13:33:19 UTC (rev 29635)
@@ -33,23 +33,23 @@
 {
     // don't mess with language and country defaults unless
     // you also change the way logging bundles are built.
-    private String language = "en";
-    private String country = "US";
+    private volatile String language = "en";
+    private volatile String country = "US";
 
     @FullPropertyName(name = "com.arjuna.common.util.logging.default")
-    private boolean useDefaultLog = false;
+    private volatile boolean useDefaultLog = false;
 
     @FullPropertyName(name = "com.arjuna.common.util.logger")
-    private String loggingSystem = "log4j";
+    private volatile String loggingSystem = "log4j";
 
     @FullPropertyName(name = "com.arjuna.common.util.logging.DebugLevel")
-    private String debugLevel = "0x00000000";
+    private volatile String debugLevel = "0x00000000";
 
     @FullPropertyName(name = "com.arjuna.common.util.logging.FacilityLevel")
-    private String facilityLevel = "0xffffffff";
+    private volatile String facilityLevel = "0xffffffff";
 
     @FullPropertyName(name = "com.arjuna.common.util.logging.VisibilityLevel")
-    private String visibilityLevel = "0xffffffff";
+    private volatile String visibilityLevel = "0xffffffff";
 
 
     /**



More information about the jboss-svn-commits mailing list