User: dmaplesden
  Date: 01/10/04 16:26:45

  Modified:    src/main/org/jboss/mq/il/jvm JVMServerIL.java
                        JVMClientIL.java
  Log:
  Fix for a subtle bug.  If messages are not copied on delivery to client and client 
then modifies the message and does a rollback, the modified message is restored 
instead of the original.
  
  Revision  Changes    Path
  1.4       +6 -2      jbossmq/src/main/org/jboss/mq/il/jvm/JVMServerIL.java
  
  Index: JVMServerIL.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/jvm/JVMServerIL.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JVMServerIL.java  2001/09/26 05:02:28     1.3
  +++ JVMServerIL.java  2001/10/04 23:26:45     1.4
  @@ -27,7 +27,7 @@
    *
    * @author    Hiram Chirino ([EMAIL PROTECTED])
    * @author    Norbert Lataille ([EMAIL PROTECTED])
  - * @version   $Revision: 1.3 $
  + * @version   $Revision: 1.4 $
    * @created   August 16, 2001
    */
   public class JVMServerIL implements org.jboss.mq.il.ServerIL
  @@ -235,7 +235,11 @@
      public SpyMessage receive(ConnectionToken dc, int subscriberId, long wait)
             throws Exception
      {
  -      return server.receive(dc, subscriberId, wait);
  +      SpyMessage message = server.receive(dc, subscriberId, wait);
  +      //copy message to avoid server side problems with persisted message if 
message is edited client side.
  +      if(message != null)
  +         message = message.myClone();
  +      return message;
      }
   
      /**
  
  
  
  1.4       +8 -1      jbossmq/src/main/org/jboss/mq/il/jvm/JVMClientIL.java
  
  Index: JVMClientIL.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/jvm/JVMClientIL.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JVMClientIL.java  2001/09/26 05:02:28     1.3
  +++ JVMClientIL.java  2001/10/04 23:26:45     1.4
  @@ -19,7 +19,7 @@
    *
    * @author    Norbert Lataille ([EMAIL PROTECTED])
    * @author    Hiram Chirino ([EMAIL PROTECTED])
  - * @version   $Revision: 1.3 $
  + * @version   $Revision: 1.4 $
    * @created   August 16, 2001
    */
   public class JVMClientIL implements ClientIL
  @@ -80,6 +80,13 @@
         {
            throw new IllegalStateException("The client IL is stopped");
         }
  +      
  +      //copy messages to avoid server side problems when messages are edited client 
side.
  +      for (int i = 0; i < messages.length; i++)
  +      {
  +         messages[i].message = messages[i].message.myClone();
  +      }
  +      
         connection.asynchDeliver(messages);
      }
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to