[jboss-cvs] JBoss Messaging SVN: r4625 - in branches/Branch_JBossMessaging_1_4_0_SP3_CP: tests/src/org/jboss/test/messaging/jms/message and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 30 06:54:33 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-06-30 06:54:33 -0400 (Mon, 30 Jun 2008)
New Revision: 4625

Modified:
   branches/Branch_JBossMessaging_1_4_0_SP3_CP/src/main/org/jboss/jms/message/ObjectMessageProxy.java
   branches/Branch_JBossMessaging_1_4_0_SP3_CP/tests/src/org/jboss/test/messaging/jms/message/ObjectMessageTest.java
Log:
JBMESSAGING-1386 and JBMESSAGING-1277 - Setting cache on ObjectProxy

Modified: branches/Branch_JBossMessaging_1_4_0_SP3_CP/src/main/org/jboss/jms/message/ObjectMessageProxy.java
===================================================================
--- branches/Branch_JBossMessaging_1_4_0_SP3_CP/src/main/org/jboss/jms/message/ObjectMessageProxy.java	2008-06-27 22:21:46 UTC (rev 4624)
+++ branches/Branch_JBossMessaging_1_4_0_SP3_CP/src/main/org/jboss/jms/message/ObjectMessageProxy.java	2008-06-30 10:54:33 UTC (rev 4625)
@@ -38,6 +38,8 @@
 public class ObjectMessageProxy extends MessageProxy implements ObjectMessage
 {
    private static final long serialVersionUID = 8797295997477962825L;
+   
+   private transient Serializable cachedObject;
 
    public ObjectMessageProxy(long deliveryId, JBossObjectMessage message, int deliveryCount)
    {
@@ -48,7 +50,7 @@
    {
       super(message);
    }
-
+   
    public void setObject(Serializable object) throws JMSException
    {
       if (bodyReadOnly)
@@ -61,6 +63,20 @@
 
    public Serializable getObject() throws JMSException
    {
-      return ((ObjectMessage)message).getObject();
+	  if (cachedObject == null)
+	  {
+		  cachedObject = ((ObjectMessage)message).getObject();
+	  }
+	  
+	  return cachedObject;
    }
+
+   protected void bodyChange() throws JMSException
+   {  
+	   super.bodyChange();
+	   
+	   cachedObject = null;
+   }
+
+
 }

Modified: branches/Branch_JBossMessaging_1_4_0_SP3_CP/tests/src/org/jboss/test/messaging/jms/message/ObjectMessageTest.java
===================================================================
--- branches/Branch_JBossMessaging_1_4_0_SP3_CP/tests/src/org/jboss/test/messaging/jms/message/ObjectMessageTest.java	2008-06-27 22:21:46 UTC (rev 4624)
+++ branches/Branch_JBossMessaging_1_4_0_SP3_CP/tests/src/org/jboss/test/messaging/jms/message/ObjectMessageTest.java	2008-06-30 10:54:33 UTC (rev 4625)
@@ -209,7 +209,7 @@
       
       Object testObject3 = r.getObject();
       
-      assertNotSame (testObject3, testObject2);
+      assertSame (testObject3, testObject2);
       
       JBossObjectMessage original = (JBossObjectMessage)(((ObjectMessageProxy)r).getMessage());
       JBossObjectMessage msgCopy = new JBossObjectMessage(original);




More information about the jboss-cvs-commits mailing list