You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/10/20 06:47:49 UTC

svn commit: r465990 - in /incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp: ProtocolConverter.java StompSubscription.java

Author: chirino
Date: Thu Oct 19 21:47:48 2006
New Revision: 465990

URL: http://svn.apache.org/viewvc?view=rev&rev=465990
Log:
Merged in revision 465987 from trunk

Modified:
    incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java
    incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompSubscription.java

Modified: incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java?view=diff&rev=465990&r1=465989&r2=465990
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java Thu Oct 19 21:47:48 2006
@@ -570,6 +570,7 @@
         } else if( message.getDataStructureType() == ActiveMQBytesMessage.DATA_STRUCTURE_TYPE ) {
             
         	ActiveMQBytesMessage msg = (ActiveMQBytesMessage)message.copy();
+            msg.setReadOnlyBody(true);
             byte[] data = new byte[(int)msg.getBodyLength()]; 
             msg.readBytes(data);
 

Modified: incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompSubscription.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompSubscription.java?view=diff&rev=465990&r1=465989&r2=465990
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompSubscription.java (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompSubscription.java Thu Oct 19 21:47:48 2006
@@ -20,6 +20,8 @@
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
 
 import javax.jms.JMSException;
 
@@ -91,18 +93,23 @@
         ack.setConsumerId(consumerInfo.getConsumerId());
         
         int count=0;
-        for (Iterator iter = dispatchedMessage.keySet().iterator(); iter.hasNext();) {
+        for (Iterator iter = dispatchedMessage.entrySet().iterator(); iter.hasNext();) {
+            
+        	Map.Entry entry = (Entry) iter.next();
+            String id = (String) entry.getKey();
+            MessageId msgid = (MessageId) entry.getValue();
             
-            String id = (String) iter.next();
             if( ack.getFirstMessageId()==null )
-                ack.setFirstMessageId((MessageId) dispatchedMessage.get(id));
+                ack.setFirstMessageId(msgid);
 
             iter.remove();
             count++;
+
             if( id.equals(messageId)  ) {
-                ack.setLastMessageId((MessageId) dispatchedMessage.get(id));
+                ack.setLastMessageId(msgid);
                 break;
             }
+            
         }
         
         ack.setMessageCount(count);