[jboss-cvs] JBoss Messaging SVN: r7157 - in trunk: src/main/org/jboss/messaging/core/config and 15 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 2 01:23:13 EDT 2009


Author: clebert.suconic at jboss.com
Date: 2009-06-02 01:23:13 -0400 (Tue, 02 Jun 2009)
New Revision: 7157

Removed:
   trunk/tests/src/org/jboss/messaging/tests/performance/journal/PerformanceComparissonTest.java
Modified:
   trunk/src/config/common/schema/jbm-configuration.xsd
   trunk/src/main/org/jboss/messaging/core/config/Configuration.java
   trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
   trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
   trunk/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFileFactory.java
   trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
   trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
   trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
   trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
   trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
   trunk/tests/config/ConfigurationTest-full-config.xml
   trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/performance/journal/JournalImplTestUnit.java
   trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
   trunk/tests/src/org/jboss/messaging/tests/stress/journal/remote/RemoteJournalAppender.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
   trunk/tests/src/org/jboss/messaging/tests/util/JournalExample.java
   trunk/tests/src/org/jboss/messaging/tests/util/ListJournal.java
Log:
Configuration changes

Modified: trunk/src/config/common/schema/jbm-configuration.xsd
===================================================================
--- trunk/src/config/common/schema/jbm-configuration.xsd	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/config/common/schema/jbm-configuration.xsd	2009-06-02 05:23:13 UTC (rev 7157)
@@ -189,9 +189,15 @@
 				<xsd:element name="journal-type" type="journalType"
 					maxOccurs="1" minOccurs="0">
 				</xsd:element>
-				<xsd:element name="journal-buffer-reuse-size"
+				<xsd:element name="journal-aio-buffer-timeout"
 					type="xsd:long" maxOccurs="1" minOccurs="0">
 				</xsd:element>
+				<xsd:element name="journal-aio-buffer-size"
+					type="xsd:long" maxOccurs="1" minOccurs="0">
+				</xsd:element>
+				<xsd:element name="journal-aio-flush-on-sync"
+					type="xsd:boolean" maxOccurs="1" minOccurs="0">
+				</xsd:element>
 				<xsd:element name="journal-sync-transactional"
 					type="xsd:boolean" maxOccurs="1" minOccurs="0">
 				</xsd:element>

Modified: trunk/src/main/org/jboss/messaging/core/config/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/Configuration.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/config/Configuration.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -196,10 +196,18 @@
 
    void setJournalMaxAIO(int maxAIO);
 
-   void setJournalBufferReuseSize(int reuseSize);
+   void setAIOBufferSize(int size);
+   
+   int getAIOBufferSize();
+   
+   void setAIOBufferTimeout(int timeout);
+   
+   int getAIOBufferTimeout();
+   
+   void setAIOFlushOnSync(boolean flush);
+   
+   boolean isAIOFlushOnSync();
 
-   int getJournalBufferReuseSize();
-
    boolean isCreateBindingsDir();
 
    void setCreateBindingsDir(boolean create);

Modified: trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -96,9 +96,13 @@
    public static final int DEFAULT_JOURNAL_MIN_FILES = 2;
 
    public static final int DEFAULT_JOURNAL_MAX_AIO = 500;
+   
+   public static final boolean DEFAULT_JOURNAL_AIO_FLUSH_SYNC = false;
+   
+   public static final int DEFAULT_JOURNAL_AIO_BUFFER_TIMEOUT = 1;
+   
+   public static final int DEFAULT_JOURNAL_AIO_BUFFER_SIZE = 1024 * 1024;
 
-   public static final int DEFAULT_JOURNAL_REUSE_BUFFER_SIZE = 1024;
-
    public static final boolean DEFAULT_WILDCARD_ROUTING_ENABLED = true;
 
    public static final boolean DEFAULT_MESSAGE_COUNTER_ENABLED = false;
@@ -234,9 +238,13 @@
    protected int journalMinFiles = DEFAULT_JOURNAL_MIN_FILES;
 
    protected int journalMaxAIO = DEFAULT_JOURNAL_MAX_AIO;
+   
+   protected boolean journalAIOFlushSync = DEFAULT_JOURNAL_AIO_FLUSH_SYNC;
+   
+   protected int journalAIOBufferTimeout = DEFAULT_JOURNAL_AIO_BUFFER_TIMEOUT;
+   
+   protected int journalAIOBufferSize = DEFAULT_JOURNAL_AIO_BUFFER_SIZE;
 
-   protected int journalBufferReuseSize = DEFAULT_JOURNAL_REUSE_BUFFER_SIZE;
-
    protected boolean wildcardRoutingEnabled = DEFAULT_WILDCARD_ROUTING_ENABLED;
 
    protected boolean messageCounterEnabled = DEFAULT_MESSAGE_COUNTER_ENABLED;
@@ -700,16 +708,37 @@
       jmxManagementEnabled = enabled;
    }
 
-   public void setJournalBufferReuseSize(final int reuseSize)
+
+   public void setAIOBufferTimeout(int timeout)
    {
-      journalBufferReuseSize = reuseSize;
+      this.journalAIOBufferTimeout = timeout;
    }
+   
+   public int getAIOBufferTimeout()
+   {
+      return journalAIOBufferTimeout;
+   }
 
-   public int getJournalBufferReuseSize()
+   public void setAIOFlushOnSync(boolean flush)
    {
-      return journalBufferReuseSize;
+      journalAIOFlushSync = flush;
    }
 
+   public boolean isAIOFlushOnSync()
+   {
+      return journalAIOFlushSync;
+   }
+
+   public int getAIOBufferSize()
+   {
+      return journalAIOBufferSize;
+   }
+
+   public void setAIOBufferSize(int size)
+   {
+      this.journalAIOBufferSize = size;
+   }
+   
    public long getPagingMaxGlobalSizeBytes()
    {
       return pagingMaxGlobalSize;

Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -297,9 +297,13 @@
       journalSyncNonTransactional = getBoolean(e, "journal-sync-non-transactional", journalSyncNonTransactional);
 
       journalFileSize = getInteger(e, "journal-file-size", journalFileSize);
+      
+      journalAIOFlushSync = getBoolean(e, "journal-aio-flush-on-sync", DEFAULT_JOURNAL_AIO_FLUSH_SYNC);
+      
+      journalAIOBufferTimeout = getInteger(e, "journal-aio-buffer-timeout", DEFAULT_JOURNAL_AIO_BUFFER_TIMEOUT);
+      
+      journalAIOBufferSize = getInteger(e, "journal-aio-buffer-size", DEFAULT_JOURNAL_AIO_BUFFER_SIZE);
 
-      journalBufferReuseSize = getInteger(e, "journal-buffer-reuse-size", journalBufferReuseSize);
-
       journalMinFiles = getInteger(e, "journal-min-files", journalMinFiles);
 
       journalMaxAIO = getInteger(e, "journal-max-aio", journalMaxAIO);

Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFileFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFileFactory.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFileFactory.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -28,6 +28,7 @@
 import java.util.concurrent.Executors;
 
 import org.jboss.messaging.core.asyncio.impl.AsynchronousFileImpl;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.journal.BufferCallback;
 import org.jboss.messaging.core.journal.SequentialFile;
 import org.jboss.messaging.core.logging.Logger;
@@ -69,18 +70,15 @@
    private final Executor pollerExecutor = Executors.newCachedThreadPool(new JBMThreadFactory("JBM-AIO-poller-pool" + System.identityHashCode(this), true));
 
    
-   // TODO make this configurable
    final int bufferSize;
    
-   // TODO make this configurable
    final int bufferTimeout;
-
+   
    public AIOSequentialFileFactory(final String journalDir)
    {
-      this(journalDir, 1024 * 1024, 1);
+      this(journalDir, ConfigurationImpl.DEFAULT_JOURNAL_AIO_BUFFER_SIZE, ConfigurationImpl.DEFAULT_JOURNAL_AIO_BUFFER_TIMEOUT);
    }
 
-
    public AIOSequentialFileFactory(final String journalDir, int bufferSize, int bufferTimeout)
    {
       super(journalDir);

Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -174,6 +174,9 @@
    private final boolean syncTransactional;
 
    private final boolean syncNonTransactional;
+   
+   // used on AIO
+   private final boolean flushOnSync;
 
    private final SequentialFileFactory fileFactory;
 
@@ -209,6 +212,7 @@
                       final int minFiles,
                       final boolean syncTransactional,
                       final boolean syncNonTransactional,
+                      final boolean flushOnSync,
                       final SequentialFileFactory fileFactory,
                       final String filePrefix,
                       final String fileExtension,
@@ -252,6 +256,8 @@
       this.syncTransactional = syncTransactional;
 
       this.syncNonTransactional = syncNonTransactional;
+      
+      this.flushOnSync = flushOnSync;
 
       this.fileFactory = fileFactory;
 
@@ -1990,10 +1996,7 @@
          {
             currentFile.getFile().write(bb, callback);
 
-            // TODO: Do we need to do this?
-            // it wouldn't scale, but it is probably useful in some usecases?
-            // It should be configurable at least
-            if (sync)
+            if (flushOnSync && sync)
             {
                currentFile.getFile().flush();
             }

Modified: trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -89,9 +89,13 @@
    public boolean isBackup();
 
    public long getConnectionScanPeriod();
+   
+   int getAIOBufferSize();
+   
+   int getAIOBufferTimeout();
+   
+   boolean isAIOFlushOnSync();
 
-   public int getJournalBufferReuseSize();
-
    public long getPagingMaxGlobalSizeBytes();
 
    public String getPagingDirectory();

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -156,10 +156,22 @@
       return configuration.getInterceptorClassNames().toArray(new String[configuration.getInterceptorClassNames().size()]);
    }
 
-   public int getJournalBufferReuseSize()
+   
+   
+   public int getAIOBufferSize()
    {
-      return configuration.getJournalBufferReuseSize();
+      return configuration.getAIOBufferSize();
    }
+   
+   public int getAIOBufferTimeout()
+   {
+      return configuration.getAIOBufferTimeout();
+   }
+   
+   public boolean isAIOFlushOnSync()
+   {
+      return configuration.isAIOFlushOnSync();
+   }
 
    public String getJournalDirectory()
    {

Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -91,11 +91,21 @@
       return localControl.getInterceptorClassNames();
    }
 
-   public int getJournalBufferReuseSize()
+   public int getAIOBufferSize()
    {
-      return localControl.getJournalBufferReuseSize();
+      return localControl.getAIOBufferSize();
    }
 
+   public int getAIOBufferTimeout()
+   {
+      return localControl.getAIOBufferTimeout();
+   }
+
+   public boolean isAIOFlushOnSync()
+   {
+      return localControl.isAIOFlushOnSync();
+   }
+
    public String getJournalDirectory()
    {
       return localControl.getJournalDirectory();

Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -158,7 +158,7 @@
 
       SequentialFileFactory bindingsFF = new NIOSequentialFileFactory(bindingsDir);
 
-      bindingsJournal = new JournalImpl(1024 * 1024, 2, true, true, bindingsFF, "jbm-bindings", "bindings", 1);
+      bindingsJournal = new JournalImpl(1024 * 1024, 2, true, true, false, bindingsFF, "jbm-bindings", "bindings", 1);
 
       String journalDir = config.getJournalDirectory();
 
@@ -181,7 +181,7 @@
          }
          else
          {
-            journalFF = new AIOSequentialFileFactory(journalDir);
+            journalFF = new AIOSequentialFileFactory(journalDir, config.getAIOBufferSize(), config.getAIOBufferTimeout());
             log.info("AIO loaded successfully");
          }
       }
@@ -199,6 +199,7 @@
                                        config.getJournalMinFiles(),
                                        config.isJournalSyncTransactional(),
                                        config.isJournalSyncNonTransactional(),
+                                       config.isAIOFlushOnSync(),
                                        journalFF,
                                        "jbm-data",
                                        "jbm",

Modified: trunk/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-full-config.xml	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/config/ConfigurationTest-full-config.xml	2009-06-02 05:23:13 UTC (rev 7157)
@@ -37,7 +37,9 @@
       <journal-directory>somedir2</journal-directory>
       <create-journal-dir>false</create-journal-dir>
       <journal-type>NIO</journal-type>
-      <journal-buffer-reuse-size>128</journal-buffer-reuse-size>
+      <journal-aio-flush-on-sync>true</journal-aio-flush-on-sync>
+      <journal-aio-buffer-timeout>1000</journal-aio-buffer-timeout>
+      <journal-aio-buffer-size>10000</journal-aio-buffer-size>
       <journal-sync-transactional>false</journal-sync-transactional>      
       <journal-sync-non-transactional>true</journal-sync-non-transactional>
       <journal-file-size>12345678</journal-file-size>

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -98,7 +98,9 @@
       assertEquals(conf.getJournalFileSize(), serverControl.getJournalFileSize());
       assertEquals(conf.getJournalMinFiles(), serverControl.getJournalMinFiles());
       assertEquals(conf.getJournalMaxAIO(), serverControl.getJournalMaxAIO());
-      assertEquals(conf.getJournalBufferReuseSize(), serverControl.getJournalBufferReuseSize());
+      assertEquals(conf.getAIOBufferSize(), serverControl.getAIOBufferSize());
+      assertEquals(conf.getAIOBufferTimeout(), serverControl.getAIOBufferTimeout());
+      assertEquals(conf.isAIOFlushOnSync(), serverControl.isAIOFlushOnSync());
       assertEquals(conf.isCreateBindingsDir(), serverControl.isCreateBindingsDir());
       assertEquals(conf.isCreateJournalDir(), serverControl.isCreateJournalDir());      
       assertEquals(conf.getPagingDirectory(), serverControl.getPagingDirectory());

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -417,6 +417,21 @@
             proxy.invokeOperation("setMessageCounterSamplePeriod", newPeriod);
          }
 
+         public int getAIOBufferSize()
+         {
+            return (Integer)proxy.retrieveAttributeValue("AIOBufferSize");
+         }
+
+         public int getAIOBufferTimeout()
+         {
+            return (Integer)proxy.retrieveAttributeValue("AIOBufferTimeout");
+         }
+
+         public boolean isAIOFlushOnSync()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("AIOFlushOnSync");
+         }
+
       };
    }
    // Package protected ---------------------------------------------

Modified: trunk/tests/src/org/jboss/messaging/tests/performance/journal/JournalImplTestUnit.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/performance/journal/JournalImplTestUnit.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/performance/journal/JournalImplTestUnit.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -201,7 +201,7 @@
    public void testSpeedTransactional() throws Exception
    {
       Journal journal =
-         new JournalImpl(10 * 1024 * 1024, 10, true, true, getFileFactory(),
+         new JournalImpl(10 * 1024 * 1024, 10, true, true, false, getFileFactory(),
                "jbm-data", "jbm", 5000);
       
       journal.start();
@@ -263,7 +263,7 @@
       log.debug("num Files=" + numFiles);
 
       Journal journal =
-         new JournalImpl(10 * 1024 * 1024,  numFiles, true, true, getFileFactory(),
+         new JournalImpl(10 * 1024 * 1024,  numFiles, true, true, false, getFileFactory(),
                "jbm-data", "jbm", 5000);
       
       journal.start();
@@ -289,7 +289,7 @@
       journal.stop();
       
       journal =
-         new JournalImpl(10 * 1024 * 1024,  numFiles, true, true, getFileFactory(),
+         new JournalImpl(10 * 1024 * 1024,  numFiles, true, true, false, getFileFactory(),
                "jbm-data", "jbm", 5000);
       
       journal.start();

Deleted: trunk/tests/src/org/jboss/messaging/tests/performance/journal/PerformanceComparissonTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/performance/journal/PerformanceComparissonTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/performance/journal/PerformanceComparissonTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -1,461 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.messaging.tests.performance.journal;
-
-import java.io.File;
-
-import org.jboss.messaging.core.journal.EncodingSupport;
-import org.jboss.messaging.core.journal.LoadManager;
-import org.jboss.messaging.core.journal.PreparedTransactionInfo;
-import org.jboss.messaging.core.journal.RecordInfo;
-import org.jboss.messaging.core.journal.SequentialFileFactory;
-import org.jboss.messaging.core.journal.impl.AIOSequentialFileFactory;
-import org.jboss.messaging.core.journal.impl.JournalImpl;
-import org.jboss.messaging.core.journal.impl.NIOSequentialFileFactory;
-import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
-import org.jboss.messaging.tests.util.UnitTestCase;
-
-/**
- * A PerformanceComparissonTest
- *
- * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
- *
- *
- */
-public class PerformanceComparissonTest extends UnitTestCase
-{
-
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   private final long NUM_RECORDS = 100000;
-
-   private final long WARMUP_RECORDS = 1000;
-
-   private int SIZE_RECORD = 1000;
-
-   private final byte ADD_RECORD = 1;
-
-   private final byte UPDATE1 = 2;
-
-   private final byte UPDATE2 = 3;
-
-   private final int ITERATIONS = 2;
-
-   private final boolean PERFORM_UPDATE = true;
-
-   private static final LoadManager dummyLoader = new LoadManager()
-   {
-
-      public void addPreparedTransaction(final PreparedTransactionInfo preparedTransaction)
-      {
-      }
-
-      public void addRecord(final RecordInfo info)
-      {
-      }
-
-      public void deleteRecord(final long id)
-      {
-      }
-
-      public void updateRecord(final RecordInfo info)
-      {
-      }
-   };
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   // Public --------------------------------------------------------
-
-   protected void setUp() throws Exception
-   {
-      super.setUp();
-      File file = new File(getTestDir());
-
-      deleteDirectory(file);
-
-      file.mkdirs();
-   }
-
-   protected void tearDown() throws Exception
-   {
-      // super.tearDown();
-   }
-
-   public void disabled_testAddDeleteAIO() throws Exception
-   {
-      for (int i = 0; i < ITERATIONS; i++)
-      {
-         if (i > 0)
-         {
-            tearDown();
-            setUp();
-         }
-
-         System.out.println("Test AIO # " + i);
-         testAddDeleteJournal(new AIOSequentialFileFactory(getTestDir(), 100 * 1024, 2),
-                              NUM_RECORDS,
-                              SIZE_RECORD,
-                              20,
-                              10 * 1024 * 1024);
-
-      }
-   }
-
-   public void disabled_testAddDeleteNIO() throws Exception
-   {
-      for (int i = 0; i < ITERATIONS; i++)
-      {
-         if (i > 0)
-         {
-            tearDown();
-            setUp();
-         }
-         System.out.println("Test NIO # " + i);
-         testAddDeleteJournal(new NIOSequentialFileFactory(getTestDir()),
-                              NUM_RECORDS,
-                              SIZE_RECORD,
-                              20,
-                              10 * 1024 * 1024);
-      }
-   }
-
-   public void testAddDeleteJournal(SequentialFileFactory fileFactory,
-                                    long records,
-                                    int size,
-                                    int numberOfFiles,
-                                    int journalSize) throws Exception
-   {
-
-      JournalImpl journal = new JournalImpl(journalSize, // 10M.. we believe that's the usual cilinder
-                                            // size.. not an exact science here
-                                            numberOfFiles, // number of files pre-allocated
-                                            true, // sync on commit
-                                            false, // no sync on non transactional
-                                            fileFactory, // AIO or NIO
-                                            "jbm", // file name
-                                            "jbm", // extension
-                                            500); // it's like a semaphore for callback on the AIO layer
-      // this during record writes
-
-      journal.start();
-      journal.load(dummyLoader);
-
-      FakeMessage msg = new FakeMessage(size);
-      FakeQueueEncoding update = new FakeQueueEncoding();
-
-      long timeStart = System.currentTimeMillis();
-      for (long i = 0; i < records; i++)
-      {
-         if (i == WARMUP_RECORDS)
-         {
-            timeStart = System.currentTimeMillis();
-         }
-         journal.appendAddRecord(i, ADD_RECORD, msg);
-         if (PERFORM_UPDATE)
-         {
-            journal.appendUpdateRecord(i, UPDATE1, update);
-         }
-      }
-
-      for (long i = 0; i < records; i++)
-      {
-         journal.appendUpdateRecord(i, UPDATE2, update);
-         journal.appendDeleteRecord(i);
-      }
-
-      System.out.println("Produced records before stop " + (NUM_RECORDS - WARMUP_RECORDS) +
-                         " in " +
-                         (System.currentTimeMillis() - timeStart) +
-                         " milliseconds");
-
-      journal.stop();
-
-      System.out.println("Produced records after stop " + (NUM_RECORDS - WARMUP_RECORDS) +
-                         " in " +
-                         (System.currentTimeMillis() - timeStart) +
-                         " milliseconds");
-
-      journal = new JournalImpl(journalSize, // 10M.. we believe that's the usual cilinder
-                                // size.. not an exact science here
-                                numberOfFiles, // number of files pre-allocated
-                                true, // sync on commit
-                                false, // no sync on non transactional
-                                fileFactory, // AIO or NIO
-                                "jbm", // file name
-                                "jbm", // extension
-                                500); // it's like a semaphore for callback on the AIO layer
-      // this during record writes
-
-      journal.start();
-      journal.load(dummyLoader);
-
-   }
-
-   public void testAIO() throws Exception
-   {
-      for (int i = 0; i < ITERATIONS; i++)
-      {
-         if (i > 0)
-         {
-            tearDown();
-            setUp();
-         }
-
-         System.out.println("Test AIO # " + i);
-         testJournal(new AIOSequentialFileFactory(getTestDir(), 1024 * 1024, 2),
-                     NUM_RECORDS,
-                     SIZE_RECORD,
-                     13,
-                     10 * 1024 * 1024);
-
-      }
-   }
-
-   public void testNIO() throws Exception
-   {
-      for (int i = 0; i < ITERATIONS; i++)
-      {
-         if (i > 0)
-         {
-            tearDown();
-            setUp();
-         }
-         System.out.println("Test NIO # " + i);
-         testJournal(new NIOSequentialFileFactory(getTestDir()), NUM_RECORDS, SIZE_RECORD, 13, 10 * 1024 * 1024);
-      }
-   }
-   
-   
-   public void testTransactional() throws Exception
-   {
-      //SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir(), 1024 * 1024, 1);
-      SequentialFileFactory factory = new NIOSequentialFileFactory(getTestDir());
-      
-      JournalImpl journal = new JournalImpl(1024 * 1024 * 10, // 10M.. we believe that's the usual cilinder
-                                            // size.. not an exact science here
-                                            10, // number of files pre-allocated
-                                            true, // sync on commit
-                                            false, // no sync on non transactional
-                                            factory, // AIO or NIO
-                                            "jbm", // file name
-                                            "jbm", // extension
-                                            500); // it's like a semaphore for callback on the AIO layer
-      
-      journal.start();
-      journal.load(dummyLoader);
-      
-      long id = 1;
-      
-      long start = System.currentTimeMillis();
-      for (int i = 0 ; i < 200; i++)
-      {
-         journal.appendAddRecordTransactional(i, id++, (byte)1, new byte[]{(byte)1});
-         journal.appendCommitRecord(i);
-         
-      }
-      long end = System.currentTimeMillis();
-      
-      
-      System.out.println("Value = " + (end - start));
-      
-      journal.stop();
-      
-      
-      
-   }
-
-   public void testDeleteme() throws Exception
-   {
-
-      JournalImpl journal = new JournalImpl(1024 * 1024 * 10, // 10M.. we believe that's the usual cilinder
-                                            // size.. not an exact science here
-                                            10, // number of files pre-allocated
-                                            true, // sync on commit
-                                            false, // no sync on non transactional
-                                            new AIOSequentialFileFactory(getTestDir(), 1024 * 1024, 2), // AIO or NIO
-                                            "jbm", // file name
-                                            "jbm", // extension
-                                            500); // it's like a semaphore for callback on the AIO layer
-      // this during record writes
-
-      journal.start();
-      journal.load(dummyLoader);
-
-      FakeMessage msg = new FakeMessage(1024);
-      FakeQueueEncoding update = new FakeQueueEncoding();
-
-      journal.appendAddRecord(1, (byte)1, msg);
-
-      journal.forceMoveNextFile();
-
-      journal.appendUpdateRecord(1, (byte)2, update);
-
-      journal.appendAddRecord(2, (byte)1, msg);
-
-      journal.appendDeleteRecord(1);
-
-      journal.forceMoveNextFile();
-
-      journal.appendDeleteRecord(2);
-
-      journal.stop();
-
-      journal = new JournalImpl(1024 * 1024 * 10, // 10M.. we believe that's the usual cilinder
-                                // size.. not an exact science here
-                                2, // number of files pre-allocated
-                                true, // sync on commit
-                                false, // no sync on non transactional
-                                new AIOSequentialFileFactory(getTestDir(), 1024 * 1024, 2), // AIO or NIO
-                                "jbm", // file name
-                                "jbm", // extension
-                                500); // it's like a semaphore for callback on the AIO layer
-      // this during record writes
-
-      journal.start();
-      journal.load(dummyLoader);
-
-   }
-
-   public void testJournal(SequentialFileFactory fileFactory, long records, int size, int numberOfFiles, int journalSize) throws Exception
-   {
-
-      JournalImpl journal = new JournalImpl(journalSize, // 10M.. we believe that's the usual cilinder
-                                            // size.. not an exact science here
-                                            numberOfFiles, // number of files pre-allocated
-                                            true, // sync on commit
-                                            false, // no sync on non transactional
-                                            fileFactory, // AIO or NIO
-                                            "jbm", // file name
-                                            "jbm", // extension
-                                            500); // it's like a semaphore for callback on the AIO layer
-      // this during record writes
-
-      journal.start();
-      journal.load(dummyLoader);
-
-      FakeMessage msg = new FakeMessage(size);
-      FakeQueueEncoding update = new FakeQueueEncoding();
-
-      long timeStart = System.currentTimeMillis();
-      for (long i = 0; i < records; i++)
-      {
-//         System.out.println("record # " + i);
-         if (i == WARMUP_RECORDS)
-         {
-            timeStart = System.currentTimeMillis();
-         }
-         journal.appendAddRecord(i, ADD_RECORD, msg);
-         if (PERFORM_UPDATE)
-         {
-            journal.appendUpdateRecord(i, UPDATE1, update);
-         }
-      }
-
-      System.out.println("Produced records before stop " + (NUM_RECORDS - WARMUP_RECORDS) +
-                         " in " +
-                         (System.currentTimeMillis() - timeStart) +
-                         " milliseconds");
-
-      journal.stop();
-
-      System.out.println("Produced records after stop " + (NUM_RECORDS - WARMUP_RECORDS) +
-                         " in " +
-                         (System.currentTimeMillis() - timeStart) +
-                         " milliseconds");
-
-   }
-
-   class FakeMessage implements EncodingSupport
-   {
-      final int size;
-
-      byte bytes[];
-
-      FakeMessage(int size)
-      {
-         this.size = size;
-         bytes = new byte[size];
-         for (int i = 0; i < size; i++)
-         {
-            bytes[i] = (byte)'a';
-         }
-      }
-
-      public void decode(MessagingBuffer buffer)
-      {
-      }
-
-      public void encode(MessagingBuffer buffer)
-      {
-         buffer.writeBytes(this.bytes);
-      }
-
-      /* (non-Javadoc)
-       * @see org.jboss.messaging.core.journal.EncodingSupport#getEncodeSize()
-       */
-      public int getEncodeSize()
-      {
-         return size;
-      }
-
-   }
-
-   private static class FakeQueueEncoding implements EncodingSupport
-   {
-
-      public FakeQueueEncoding()
-      {
-      }
-
-      public void decode(final MessagingBuffer buffer)
-      {
-      }
-
-      public void encode(final MessagingBuffer buffer)
-      {
-         for (int i = 0 ; i < 8; i++)
-         {
-            buffer.writeByte((byte)'q');
-         }
-      }
-
-      public int getEncodeSize()
-      {
-         return 8;
-      }
-   }
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-
-}

Modified: trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -82,7 +82,7 @@
    {
 
       SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
-      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
+      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -100,7 +100,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -119,7 +119,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -146,7 +146,7 @@
    {
 
       SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
-      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
+      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -165,7 +165,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, 10, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, 10, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -184,7 +184,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, true, factory, "jbm", "jbm", 1000);
 
       impl.start();
 

Modified: trunk/tests/src/org/jboss/messaging/tests/stress/journal/remote/RemoteJournalAppender.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/stress/journal/remote/RemoteJournalAppender.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/stress/journal/remote/RemoteJournalAppender.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -143,7 +143,7 @@
    public static JournalImpl createJournal(String journalType, String journalDir)
    {
       JournalImpl journal = new JournalImpl(10485760, 2, true,
-            false, getFactory(journalType, journalDir), "journaltst", "tst", 5000);
+            false, true, getFactory(journalType, journalDir), "journaltst", "tst", 5000);
       return journal;
    }
    

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -110,8 +110,12 @@
 
       assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_MAX_AIO, conf.getJournalMaxAIO());
 
-      assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_REUSE_BUFFER_SIZE, conf.getJournalBufferReuseSize());
+      assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_AIO_FLUSH_SYNC, conf.isAIOFlushOnSync());
 
+      assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_AIO_BUFFER_TIMEOUT, conf.getAIOBufferTimeout());
+
+      assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_AIO_BUFFER_SIZE, conf.getAIOBufferSize());
+      
       assertEquals(ConfigurationImpl.DEFAULT_CREATE_BINDINGS_DIR, conf.isCreateBindingsDir());
 
       assertEquals(ConfigurationImpl.DEFAULT_CREATE_JOURNAL_DIR, conf.isCreateJournalDir());

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -79,7 +79,9 @@
       assertEquals("somedir2", conf.getJournalDirectory());
       assertEquals(false, conf.isCreateJournalDir());
       assertEquals(JournalType.NIO, conf.getJournalType());
-      assertEquals(128, conf.getJournalBufferReuseSize());      
+      assertEquals(10000, conf.getAIOBufferSize());      
+      assertEquals(true, conf.isAIOFlushOnSync());      
+      assertEquals(1000, conf.getAIOBufferTimeout());      
       assertEquals(false, conf.isJournalSyncTransactional());
       assertEquals(true, conf.isJournalSyncNonTransactional());
       assertEquals(12345678, conf.getJournalFileSize());

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -46,9 +46,9 @@
    // Constants -----------------------------------------------------
 
    // Attributes ----------------------------------------------------
-   
+
    private FakeServerControl serverControl;
-   
+
    private QueueDeployer deployer;
 
    // Static --------------------------------------------------------
@@ -59,57 +59,55 @@
 
    public void testParseQueueConfigurationFromAddressSettings() throws Exception
    {
-      String xml = "<configuration xmlns='urn:jboss:messaging'>"
-                 + "   <queues>"
-                 + "      <queue name='foo'>"
-                 + "         <address>bar</address>"
-                 + "         <filter string='speed > 88' />"
-                 + "         <durable>false</durable>" 
-                 + "      </queue>"
-                 + "   </queues>"
-                 + "</configuration>";
-      
+      String xml = "<configuration xmlns='urn:jboss:messaging'>" + "   <queues>"
+                   + "      <queue name='foo'>"
+                   + "         <address>bar</address>"
+                   + "         <filter string='speed > 88' />"
+                   + "         <durable>false</durable>"
+                   + "      </queue>"
+                   + "   </queues>"
+                   + "</configuration>";
+
       Element rootNode = org.jboss.messaging.utils.XMLUtil.stringToElement(xml);
       deployer.validate(rootNode);
       NodeList queueNodes = rootNode.getElementsByTagName("queue");
       assertEquals(1, queueNodes.getLength());
       deployer.deploy(queueNodes.item(0));
-      
+
       assertEquals(1, serverControl.configs.size());
-      
+
       QueueConfiguration queueConfiguration = serverControl.configs.get(0);
       assertEquals("foo", queueConfiguration.getName());
       assertEquals("bar", queueConfiguration.getAddress());
       assertEquals("speed > 88", queueConfiguration.getFilterString());
-      assertEquals(false, queueConfiguration.isDurable());      
+      assertEquals(false, queueConfiguration.isDurable());
    }
 
    public void testParseQueueConfigurationFromJBMConfiguration() throws Exception
    {
-      String xml = "<configuration xmlns='urn:jboss:messaging'> " 
-                 + "<queues>"
-                 + "   <queue name='foo'>"
-                 + "      <address>bar</address>"
-                 + "      <filter string='speed > 88' />"
-                 + "      <durable>false</durable>" 
-                 + "   </queue>"
-                 + "   <queue name='foo2'>"
-                 + "      <address>bar2</address>"
-                 + "      <filter string='speed > 88' />"
-                 + "      <durable>true</durable>" 
-                 + "   </queue>"
-                 + "</queues>"
-                 + "</configuration>";
-      
+      String xml = "<configuration xmlns='urn:jboss:messaging'> " + "<queues>"
+                   + "   <queue name='foo'>"
+                   + "      <address>bar</address>"
+                   + "      <filter string='speed > 88' />"
+                   + "      <durable>false</durable>"
+                   + "   </queue>"
+                   + "   <queue name='foo2'>"
+                   + "      <address>bar2</address>"
+                   + "      <filter string='speed > 88' />"
+                   + "      <durable>true</durable>"
+                   + "   </queue>"
+                   + "</queues>"
+                   + "</configuration>";
+
       Element rootNode = org.jboss.messaging.utils.XMLUtil.stringToElement(xml);
       deployer.validate(rootNode);
       NodeList queueNodes = rootNode.getElementsByTagName("queue");
       assertEquals(2, queueNodes.getLength());
-      
+
       deployer.deploy(queueNodes.item(0));
       deployer.deploy(queueNodes.item(1));
-      
-      assertEquals(2, serverControl.configs.size());   
+
+      assertEquals(2, serverControl.configs.size());
       assertEquals("foo", serverControl.configs.get(0).getName());
       assertEquals("foo2", serverControl.configs.get(1).getName());
    }
@@ -117,7 +115,7 @@
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------
-   
+
    protected void setUp() throws Exception
    {
       super.setUp();
@@ -136,403 +134,419 @@
    // Private -------------------------------------------------------
 
    // Inner classes -------------------------------------------------
-   
+
    private class FakeServerControl implements MessagingServerControlMBean
    {
 
       public int getThreadPoolMaxSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public boolean closeConnectionsForAddress(String ipAddress) throws Exception
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean commitPreparedTransaction(String transactionAsBase64) throws Exception
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public void createQueue(String address, String name, String filter, boolean durable) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void createQueue(String address, String name) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
-      
+
       List<QueueConfiguration> configs = new ArrayList<QueueConfiguration>();
 
       public void deployQueue(String address, String name, String filter, boolean durable) throws Exception
       {
          QueueConfiguration config = new QueueConfiguration(address, name, filter, durable);
-         
+
          configs.add(config);
       }
 
       public void deployQueue(String address, String name, String filterString) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void destroyQueue(String name) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void disableMessageCounters() throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void enableMessageCounters() throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public String getBackupConnectorName()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String getBindingsDirectory()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public Configuration getConfiguration()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public int getConnectionCount()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getConnectionScanPeriod()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getConnectionTTLOverride()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public Object[] getConnectors() throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public int getIDCacheSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public String[] getInterceptorClassNames()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public int getJournalBufferReuseSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public String getJournalDirectory()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public int getJournalFileSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public int getJournalMaxAIO()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public int getJournalMinFiles()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public String getJournalType()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String getLargeMessagesDirectory()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String getManagementAddress()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String getManagementNotificationAddress()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public long getManagementRequestTimeout()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public int getMessageCounterMaxDayCount()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getMessageCounterSamplePeriod()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getMessageExpiryScanPeriod()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getMessageExpiryThreadPriority()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public String getPagingDirectory()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public int getGlobalPageSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getPagingMaxGlobalSizeBytes()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getQueueActivationTimeout()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public int getScheduledThreadPoolMaxSize()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getSecurityInvalidationInterval()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getTransactionTimeout()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public long getTransactionTimeoutScanPeriod()
       {
-         // TODO Auto-generated method stub
+
          return 0;
       }
 
       public String getVersion()
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public boolean isBackup()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isClustered()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isCreateBindingsDir()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isCreateJournalDir()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isJournalSyncNonTransactional()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isJournalSyncTransactional()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isMessageCounterEnabled()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isPersistDeliveryCountBeforeDelivery()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isPersistIDCache()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isSecurityEnabled()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isStarted()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public boolean isWildcardRoutingEnabled()
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public String[] listConnectionIDs() throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String[] listPreparedTransactions() throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String[] listRemoteAddresses() throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String[] listRemoteAddresses(String ipAddress) throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public String[] listSessions(String connectionID) throws Exception
       {
-         // TODO Auto-generated method stub
+
          return null;
       }
 
       public void resetAllMessageCounterHistories() throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void resetAllMessageCounters() throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public boolean rollbackPreparedTransaction(String transactionAsBase64) throws Exception
       {
-         // TODO Auto-generated method stub
+
          return false;
       }
 
       public void sendQueueInfoToQueue(String queueName, String address) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void setMessageCounterMaxDayCount(int count) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
 
       public void setMessageCounterSamplePeriod(long newPeriod) throws Exception
       {
-         // TODO Auto-generated method stub
-         
+
       }
-      
+
+      /* (non-Javadoc)
+       * @see org.jboss.messaging.core.management.MessagingServerControlMBean#getAIOBufferSize()
+       */
+      public int getAIOBufferSize()
+      {
+
+         return 0;
+      }
+
+      /* (non-Javadoc)
+       * @see org.jboss.messaging.core.management.MessagingServerControlMBean#getAIOBufferTimeout()
+       */
+      public int getAIOBufferTimeout()
+      {
+
+         return 0;
+      }
+
+      /* (non-Javadoc)
+       * @see org.jboss.messaging.core.management.MessagingServerControlMBean#getAIOFlushOnSync()
+       */
+      public boolean isAIOFlushOnSync()
+      {
+
+         return false;
+      }
+
    }
 
 }

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -146,7 +146,7 @@
 
       try
       {
-         journalImpl = new JournalImpl(2000, 2, true, true, factory, "tt", "tt", 1000);
+         journalImpl = new JournalImpl(2000, 2, true, true, false, factory, "tt", "tt", 1000);
          fail("Supposed to throw an exception");
       }
       catch (Exception ignored)
@@ -1268,7 +1268,7 @@
    {
 
       SequentialFileFactory factory = new FakeSequentialFileFactory(512, false);
-      JournalImpl impl = new JournalImpl(512 + 512 * 3, 20, true, false, factory, "jbm", "jbm", 1000);
+      JournalImpl impl = new JournalImpl(512 + 512 * 3, 20, true, false, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -1281,7 +1281,7 @@
 
       impl.stop();
 
-      impl = new JournalImpl(512 + 1024 + 512, 20, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(512 + 1024 + 512, 20, true, false, false, factory, "jbm", "jbm", 1000);
       impl.start();
       impl.load(dummyLoader);
 
@@ -1296,7 +1296,7 @@
 
       impl.stop();
 
-      impl = new JournalImpl(512 + 1024 + 512, 20, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(512 + 1024 + 512, 20, true, false, false, factory, "jbm", "jbm", 1000);
       impl.start();
 
       ArrayList<RecordInfo> info = new ArrayList<RecordInfo>();
@@ -1364,7 +1364,7 @@
          journalImpl.stop();
       }
 
-      journalImpl = new JournalImpl(journalSize, numberOfMinimalFiles, true, true, factory, "tt", "tt", 1000);
+      journalImpl = new JournalImpl(journalSize, numberOfMinimalFiles, true, true, false, factory, "tt", "tt", 1000);
 
       journalImpl.start();
 

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -357,7 +357,7 @@
          journalImpl.stop();
       }
 
-      journalImpl = new JournalImpl(journalSize, numberOfMinimalFiles, true, true, factory, "tt", "tt", 1000);
+      journalImpl = new JournalImpl(journalSize, numberOfMinimalFiles, true, true, false, factory, "tt", "tt", 1000);
 
       journalImpl.start();
 

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -145,7 +145,7 @@
 
    public void createJournal() throws Exception
    {
-      journal = new JournalImpl(fileSize, minFiles, sync, sync, fileFactory, filePrefix, fileExtension, maxAIO);
+      journal = new JournalImpl(fileSize, minFiles, sync, sync, sync, fileFactory, filePrefix, fileExtension, maxAIO);
       journal.setAutoReclaim(false);
    }
 

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -128,7 +128,7 @@
    {
       try
       {
-         new JournalImpl(JournalImpl.MIN_FILE_SIZE - 1, 10, true, true, fileFactory, filePrefix, fileExtension, 1);
+         new JournalImpl(JournalImpl.MIN_FILE_SIZE - 1, 10, true, true, false, fileFactory, filePrefix, fileExtension, 1);
 
          fail("Should throw exception");
       }
@@ -139,7 +139,7 @@
 
       try
       {
-         new JournalImpl(10 * 1024, 1, true, true, fileFactory, filePrefix, fileExtension, 1);
+         new JournalImpl(10 * 1024, 1, true, true, false, fileFactory, filePrefix, fileExtension, 1);
 
          fail("Should throw exception");
       }
@@ -150,7 +150,7 @@
 
       try
       {
-         new JournalImpl(10 * 1024, 10, true, true, null, filePrefix, fileExtension, 1);
+         new JournalImpl(10 * 1024, 10, true, true, false, null, filePrefix, fileExtension, 1);
 
          fail("Should throw exception");
       }
@@ -161,7 +161,7 @@
 
       try
       {
-         new JournalImpl(10 * 1024, 10, true, true, fileFactory, null, fileExtension, 1);
+         new JournalImpl(10 * 1024, 10, true, true, false, fileFactory, null, fileExtension, 1);
 
          fail("Should throw exception");
       }
@@ -172,7 +172,7 @@
 
       try
       {
-         new JournalImpl(10 * 1024, 10, true, true, fileFactory, filePrefix, null, 1);
+         new JournalImpl(10 * 1024, 10, true, true, false, fileFactory, filePrefix, null, 1);
 
          fail("Should throw exception");
       }
@@ -183,7 +183,7 @@
 
       try
       {
-         new JournalImpl(10 * 1024, 10, true, true, fileFactory, filePrefix, null, 0);
+         new JournalImpl(10 * 1024, 10, true, true, false, fileFactory, filePrefix, null, 0);
 
          fail("Should throw exception");
       }

Modified: trunk/tests/src/org/jboss/messaging/tests/util/JournalExample.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/util/JournalExample.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/util/JournalExample.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -74,6 +74,7 @@
                                                       2, // number of files pre-allocated
                                                       true, // sync on commit
                                                       false, // no sync on non transactional
+                                                      false, // if aio, flush on sync
                                                       fileFactory, // AIO or NIO
                                                       "exjournal", // file name
                                                       "dat", // extension

Modified: trunk/tests/src/org/jboss/messaging/tests/util/ListJournal.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/util/ListJournal.java	2009-06-02 05:10:34 UTC (rev 7156)
+++ trunk/tests/src/org/jboss/messaging/tests/util/ListJournal.java	2009-06-02 05:23:13 UTC (rev 7157)
@@ -72,6 +72,7 @@
                             fileConf.getJournalMinFiles(),
                             true,
                             true,
+                            false,
                             new NIOSequentialFileFactory(fileConf.getJournalDirectory()),
                             "jbm-data",
                             "jbm",




More information about the jboss-cvs-commits mailing list