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