[hornetq-commits] JBoss hornetq SVN: r8191 - trunk/src/main/org/hornetq/core/persistence/impl/journal.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 3 04:23:31 EST 2009


Author: timfox
Date: 2009-11-03 04:23:31 -0500 (Tue, 03 Nov 2009)
New Revision: 8191

Modified:
   trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalLargeServerMessage.java
   trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java
Log:
fixed bug in large messages

Modified: trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalLargeServerMessage.java
===================================================================
--- trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalLargeServerMessage.java	2009-11-03 08:48:47 UTC (rev 8190)
+++ trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalLargeServerMessage.java	2009-11-03 09:23:31 UTC (rev 8191)
@@ -66,7 +66,7 @@
 
    public JournalLargeServerMessage(final JournalStorageManager storageManager)
    {
-      this.storageManager = storageManager;
+      this.storageManager = storageManager;      
    }
 
    /**
@@ -83,7 +83,7 @@
       storageManager = copy.storageManager;
       file = fileCopy;
       bodySize = copy.bodySize;
-      setMessageID(newID);
+      setMessageID(newID);      
    }
 
    // Public --------------------------------------------------------
@@ -259,7 +259,7 @@
 
    public boolean isFileExists() throws Exception
    {
-      SequentialFile localfile = storageManager.createFileForLargeMessage(getMessageID());
+      SequentialFile localfile = storageManager.createFileForLargeMessage(getMessageID(), durable);
       return localfile.exists();
    }
 
@@ -305,7 +305,7 @@
          idToUse = linkMessage.getMessageID();
       }
 
-      SequentialFile newfile = storageManager.createFileForLargeMessage(idToUse);
+      SequentialFile newfile = storageManager.createFileForLargeMessage(idToUse, durable);
 
       ServerMessage newMessage = new JournalLargeServerMessage(linkMessage == null ? this
                                                                                   : (JournalLargeServerMessage)linkMessage,
@@ -341,9 +341,9 @@
          {
             throw new RuntimeException("MessageID not set on LargeMessage");
          }
+        
+         file = storageManager.createFileForLargeMessage(getMessageID(), durable);
 
-         file = storageManager.createFileForLargeMessage(getMessageID());
-
          file.open();
 
          bodySize = file.size();
@@ -364,7 +364,7 @@
 
       this.linkMessage = message;
 
-      file = storageManager.createFileForLargeMessage(message.getMessageID());
+      file = storageManager.createFileForLargeMessage(message.getMessageID(), durable);
       try
       {
          file.open();

Modified: trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java	2009-11-03 08:48:47 UTC (rev 8190)
+++ trunk/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java	2009-11-03 09:23:31 UTC (rev 8191)
@@ -946,6 +946,7 @@
          {
             // this could happen if the message was deleted but the file still exists as the file still being used
             originalMessage = createLargeMessage();
+            originalMessage.setDurable(true);
             originalMessage.setMessageID(originalMessageID);
             messages.put(originalMessageID, originalMessage);
          }
@@ -1372,9 +1373,16 @@
     * @param messageID
     * @return
     */
-   SequentialFile createFileForLargeMessage(final long messageID)
+   SequentialFile createFileForLargeMessage(final long messageID, final boolean durable)
    {
-      return largeMessagesFactory.createSequentialFile(messageID + ".msg", -1);      
+      if (durable)
+      {
+         return largeMessagesFactory.createSequentialFile(messageID + ".msg", -1);
+      }
+      else
+      {
+         return largeMessagesFactory.createSequentialFile(messageID + ".tmp", -1);
+      }
    }
 
    // Private ----------------------------------------------------------------------------------



More information about the hornetq-commits mailing list