[jboss-cvs] JBoss Messaging SVN: r5725 - trunk/src/main/org/jboss/messaging/core/client/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 26 10:24:11 EST 2009


Author: clebert.suconic at jboss.com
Date: 2009-01-26 10:24:11 -0500 (Mon, 26 Jan 2009)
New Revision: 5725

Modified:
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientFileMessageImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageInternal.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java
Log:
Getting rid of instanceof on FileMessages

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientFileMessageImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientFileMessageImpl.java	2009-01-26 13:07:23 UTC (rev 5724)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientFileMessageImpl.java	2009-01-26 15:24:11 UTC (rev 5725)
@@ -213,7 +213,13 @@
    {
       return (int)file.length();
    }
+   
+   public boolean isFileMessage()
+   {
+      return true;
+   }
 
+
    /**
     * @return
     * @throws FileNotFoundException

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageImpl.java	2009-01-26 13:07:23 UTC (rev 5724)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageImpl.java	2009-01-26 15:24:11 UTC (rev 5725)
@@ -22,7 +22,6 @@
 
 package org.jboss.messaging.core.client.impl;
 
-import org.jboss.messaging.core.client.ClientMessage;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.message.impl.MessageImpl;
 import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
@@ -130,7 +129,7 @@
    {
       return largeMessage;
    }
-
+   
    /**
     * @param largeMessage the largeMessage to set
     */
@@ -139,4 +138,12 @@
       this.largeMessage = largeMessage;
    }
 
+   /* (non-Javadoc)
+    * @see org.jboss.messaging.core.client.impl.ClientMessageInternal#isFileMessage()
+    */
+   public boolean isFileMessage()
+   {
+      return false;
+   }
+
 }

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageInternal.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageInternal.java	2009-01-26 13:07:23 UTC (rev 5724)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientMessageInternal.java	2009-01-26 15:24:11 UTC (rev 5725)
@@ -44,4 +44,6 @@
    void onReceipt(ClientConsumerInternal consumer);
 
    boolean isLargeMessage();
+   
+   boolean isFileMessage();
 }

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java	2009-01-26 13:07:23 UTC (rev 5724)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java	2009-01-26 15:24:11 UTC (rev 5725)
@@ -235,7 +235,7 @@
 
       if (msg.getEncodeSize() >= minLargeMessageSize)
       {
-         sendMessageInChunks(sendBlocking, msg);
+         sendMessageInChunks(sendBlocking, (ClientMessageInternal)msg);
       }
       else if (sendBlocking)
       {
@@ -251,7 +251,7 @@
     * @param msg
     * @throws MessagingException
     */
-   private void sendMessageInChunks(final boolean sendBlocking, final Message msg) throws MessagingException
+   private void sendMessageInChunks(final boolean sendBlocking, final ClientMessageInternal msg) throws MessagingException
    {
       int headerSize = msg.getPropertiesEncodeSize();
 
@@ -298,15 +298,17 @@
 
       }
 
-      if (msg instanceof ClientFileMessageInternal)
+      // Note: This could be either a regular message, with a huge body,
+      //       or a ClientFileMessage.
+      if (msg.isFileMessage())
       {
-         //FIXME - this is very ugly - do we really need an instanceof check???
          try
          {
             ((ClientFileMessageInternal)msg).closeChannel();
          }
          catch (Exception e)
          {
+            log.warn(e.getMessage(), e);
          }
       }
    }




More information about the jboss-cvs-commits mailing list