Author: rajdavies
Date: Wed Jun  4 01:35:00 2008
New Revision: 663032

URL: http://svn.apache.org/viewvc?rev=663032&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-1766

Modified:
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/index/hash/HashIndex.java
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQTransactionStore.java

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/index/hash/HashIndex.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/index/hash/HashIndex.java?rev=663032&r1=663031&r2=663032&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/index/hash/HashIndex.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/index/hash/HashIndex.java
 Wed Jun  4 01:35:00 2008
@@ -589,7 +589,7 @@
         DEFAULT_PAGE_SIZE = 
Integer.parseInt(System.getProperty("defaultPageSize", "1024"));
         DEFAULT_KEY_SIZE = 
Integer.parseInt(System.getProperty("defaultKeySize", "96"));
         DEFAULT_BIN_SIZE= 
Integer.parseInt(System.getProperty("defaultBinSize", "1024"));
-        MAXIMUM_CAPACITY = 
Integer.parseInt(System.getProperty("defaultPageSize", "16384"));
+        MAXIMUM_CAPACITY = 
Integer.parseInt(System.getProperty("maximumCapacity", "16384"));
         
DEFAULT_LOAD_FACTOR=Integer.parseInt(System.getProperty("defaultLoadFactor","50"));
     }
 }

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java?rev=663032&r1=663031&r2=663032&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
 Wed Jun  4 01:35:00 2008
@@ -107,6 +107,7 @@
     private Runnable periodicCleanupTask;
     private boolean deleteAllMessages;
     private boolean syncOnWrite;
+    private boolean syncOnTransaction=true;
     private String brokerName = "";
     private File directory;
     private File directoryArchive;
@@ -650,7 +651,11 @@
      * @throws IOException
      */
     public Location writeCommand(DataStructure command, boolean syncHint) 
throws IOException {
-        return asyncDataManager.write(wireFormat.marshal(command), syncHint && 
syncOnWrite);
+        return writeCommand(command, syncHint,false);
+    }
+    
+    public Location writeCommand(DataStructure command, boolean 
syncHint,boolean forceSync) throws IOException {
+        return asyncDataManager.write(wireFormat.marshal(command), 
(forceSync||(syncHint && syncOnWrite)));
     }
 
     private Location writeTraceMessage(String message, boolean sync) throws 
IOException {
@@ -779,6 +784,14 @@
     public void setSyncOnWrite(boolean syncOnWrite) {
         this.syncOnWrite = syncOnWrite;
     }
+    
+    public boolean isSyncOnTransaction() {
+        return syncOnTransaction;
+    }
+
+    public void setSyncOnTransaction(boolean syncOnTransaction) {
+        this.syncOnTransaction = syncOnTransaction;
+    }
 
     /**
      * @param referenceStoreAdapter the referenceStoreAdapter to set
@@ -998,5 +1011,4 @@
                   + ".DisableLocking",
                   "false"));
        }
-
 }

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java?rev=663032&r1=663031&r2=663032&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
 Wed Jun  4 01:35:00 2008
@@ -40,6 +40,7 @@
     private String brokerName = "localhost";
     private ReferenceStoreAdapter referenceStoreAdapter;
     private boolean syncOnWrite;
+    private boolean syncOnTransaction=true;
     private boolean persistentIndex=true;
     private boolean useNio = true;
     private int maxFileLength = AsyncDataManager.DEFAULT_MAX_FILE_LENGTH;
@@ -154,6 +155,14 @@
        public void setSyncOnWrite(boolean syncOnWrite) {
                this.syncOnWrite = syncOnWrite;
        }
+       
+       public boolean isSyncOnTransaction() {
+        return syncOnTransaction;
+    }
+
+    public void setSyncOnTransaction(boolean syncOnTransaction) {
+        this.syncOnTransaction = syncOnTransaction;
+    }
 
        public boolean isUseNio() {
                return useNio;

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQTransactionStore.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQTransactionStore.java?rev=663032&r1=663031&r2=663032&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQTransactionStore.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQTransactionStore.java
 Wed Jun  4 01:35:00 2008
@@ -112,9 +112,9 @@
             return;
         }
         if (txid.isXATransaction()) {
-            peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.XA_COMMIT, txid, wasPrepared), true);
+            peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.XA_COMMIT, txid, wasPrepared), true,true);
         } else {
-            peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.LOCAL_COMMIT, txid, wasPrepared), true);
+            peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.LOCAL_COMMIT, txid, wasPrepared), 
true,true);
         }
     }
 
@@ -150,9 +150,9 @@
         }
         if (tx != null) {
             if (txid.isXATransaction()) {
-                peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.XA_ROLLBACK, txid, false), true);
+                peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.XA_ROLLBACK, txid, false), true,true);
             } else {
-                peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.LOCAL_ROLLBACK, txid, false), true);
+                peristenceAdapter.writeCommand(new 
JournalTransaction(JournalTransaction.LOCAL_ROLLBACK, txid, false), true,true);
             }
         }
     }


Reply via email to