[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-commits
Subject:    svn commit: r739008 [1/7] - in /activemq/trunk/activemq-core: ./
From:       gtully () apache ! org
Date:       2009-01-29 20:51:13
Message-ID: 20090129205118.3DEC823888A3 () eris ! apache ! org
[Download RAW message or body]

Author: gtully
Date: Thu Jan 29 20:51:09 2009
New Revision: 739008

URL: http://svn.apache.org/viewvc?rev=739008&view=rev
Log:
resolve https://issues.apache.org/activemq/browse/AMQ-2087 - add a long attribute to \
RemoveInfo where the last delivered broker sequence id is passed back to the broker, \
prefetched messages with ids > than this value now don't get their redelivery count \
incremented, requires wireformat version increment and Destination api change

Added:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempTopicMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTextMessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTopicMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/BaseCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/BaseDataStreamMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/BrokerIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/BrokerInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConnectionControlMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConnectionErrorMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConnectionIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConnectionInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConsumerControlMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConsumerIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ConsumerInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ControlCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/DataArrayResponseMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/DataResponseMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/DestinationInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/DiscoveryEventMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ExceptionResponseMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/FlushCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/IntegerResponseMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/JournalQueueAckMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/JournalTopicAckMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/JournalTraceMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/JournalTransactionMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/KeepAliveInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/LastPartialCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/LocalTransactionIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MarshallerFactory.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessageAckMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessageDispatchMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessageDispatchNotificationMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessageIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessageMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/MessagePullMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/NetworkBridgeFilterMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/PartialCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ProducerAckMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ProducerIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ProducerInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/RemoveInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/RemoveSubscriptionInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ReplayCommandMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ResponseMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/SessionIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/SessionInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ShutdownInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/SubscriptionInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/TransactionIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/TransactionInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/WireFormatInfoMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/XATransactionIdMarshaller.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/
  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/BaseCommandTestSupport.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/BrokerIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/BrokerInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConnectionControlTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConnectionErrorTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConnectionIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConnectionInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConsumerControlTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConsumerIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ConsumerInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ControlCommandTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/DataArrayResponseTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/DataResponseTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/DestinationInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/DiscoveryEventTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ExceptionResponseTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/FlushCommandTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/IntegerResponseTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/JournalQueueAckTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/JournalTopicAckTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/JournalTraceTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/JournalTransactionTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/KeepAliveInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/LastPartialCommandTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/LocalTransactionIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessageAckTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessageDispatchNotificationTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessageDispatchTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessageIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessagePullTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/MessageTestSupport.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/NetworkBridgeFilterTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/PartialCommandTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ProducerAckTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ProducerIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ProducerInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/RemoveInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/RemoveSubscriptionInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ReplayCommandTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ResponseTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/SessionIdTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/SessionInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/ShutdownInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/SubscriptionInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/TransactionIdTestSupport.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/TransactionInfoTest.java \
(with props)  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v5/XATransactionIdTest.java \
(with props) Modified:
    activemq/trunk/activemq-core/pom.xml
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Destination.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/CommandTypes.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ConsumerInfo.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/RemoveInfo.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitor.java
  activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitorAdapter.java
  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsQueueTransactionTest.java
  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsRedeliveredTest.java
  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsRollbackRedeliveryTest.java
  activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MessageGroupDelayedTest.java


Modified: activemq/trunk/activemq-core/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/pom.xml?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/pom.xml (original)
+++ activemq/trunk/activemq-core/pom.xml Thu Jan 29 20:51:09 2009
@@ -659,7 +659,7 @@
                   <tasks>
                     <echo>Running OpenWire Generator</echo>
                     <taskdef name="generate" \
classname="org.apache.activemq.openwire.tool.JavaGeneratorTask" \
                classpathref="maven.compile.classpath" />
-                    <generate version="4" basedir="${basedir}" />
+                    <generate version="5" basedir="${basedir}" />
                   </tasks>
                 </configuration>
                 <goals>

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java \
Thu Jan 29 20:51:09 2009 @@ -77,6 +77,7 @@
 import org.apache.activemq.command.MessageId;
 import org.apache.activemq.command.ProducerAck;
 import org.apache.activemq.command.ProducerId;
+import org.apache.activemq.command.RemoveInfo;
 import org.apache.activemq.command.RemoveSubscriptionInfo;
 import org.apache.activemq.command.Response;
 import org.apache.activemq.command.SessionId;
@@ -606,9 +607,11 @@
                         advisoryConsumer = null;
                     }
 
+                    long lastDeliveredSequenceId = 0;
                     for (Iterator<ActiveMQSession> i = this.sessions.iterator(); \
i.hasNext();) {  ActiveMQSession s = i.next();
                         s.dispose();
+                        lastDeliveredSequenceId = Math.max(lastDeliveredSequenceId, \
s.getLastDeliveredSequenceId());  }
                     for (Iterator<ActiveMQConnectionConsumer> i = \
this.connectionConsumers.iterator(); i.hasNext();) {  ActiveMQConnectionConsumer c = \
i.next(); @@ -627,6 +630,8 @@
                         // If we announced ourselfs to the broker.. Try to let
                         // the broker
                         // know that the connection is being shutdown.
+                        RemoveInfo removeCommand = info.createRemoveCommand();
+                        \
                removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
                         doSyncSendPacket(info.createRemoveCommand(), closeTimeout);
                         doAsyncSendPacket(new ShutdownInfo());
                     }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java \
Thu Jan 29 20:51:09 2009 @@ -42,6 +42,7 @@
 import org.apache.activemq.command.MessageDispatch;
 import org.apache.activemq.command.MessageId;
 import org.apache.activemq.command.MessagePull;
+import org.apache.activemq.command.RemoveInfo;
 import org.apache.activemq.management.JMSConsumerStatsImpl;
 import org.apache.activemq.management.StatsCapable;
 import org.apache.activemq.management.StatsImpl;
@@ -102,7 +103,7 @@
 
     // The are the messages that were delivered to the consumer but that have
     // not been acknowledged. It's kept in reverse order since we
-    // Always walk list in reverse order. Only used when session is client ack.
+    // Always walk list in reverse order.
     private final LinkedList<MessageDispatch> deliveredMessages = new \
LinkedList<MessageDispatch>();  private int deliveredCounter;
     private int additionalWindowSize;
@@ -126,6 +127,7 @@
     private boolean clearDispatchList;
 
     private MessageAck pendingAck;
+    private long lastDeliveredSequenceId;
 
     /**
      * Create a MessageConsumer
@@ -608,7 +610,9 @@
 
     void doClose() throws JMSException {
         dispose();
-        this.session.asyncSendPacket(info.createRemoveCommand());
+        RemoveInfo removeCommand = info.createRemoveCommand();
+        removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
+        this.session.asyncSendPacket(removeCommand);
     }
     
     void clearMessagesInProgress() {
@@ -661,16 +665,8 @@
     public void dispose() throws JMSException {
         if (!unconsumedMessages.isClosed()) {
             
-//            if ( !deliveredMessages.isEmpty() ) {
-//                // We need to let the broker know how many times that message
-//                // was rolled back.
-//                rollbackCounter++;
-//                MessageDispatch lastMd = deliveredMessages.get(0);
-//            }
-
             // Do we have any acks we need to send out before closing?
             // Ack any delivered messages now.
-            // only processes optimized acknowledgements
             if (!session.isTransacted()) { 
                 deliverAcks();
                 if (session.isDupsOkAcknowledge()) {
@@ -751,6 +747,7 @@
 
     private void beforeMessageIsConsumed(MessageDispatch md) throws JMSException {
         md.setDeliverySequenceId(session.getNextDeliveryId());
+        lastDeliveredSequenceId = \
md.getMessage().getMessageId().getBrokerSequenceId();  if \
(!session.isDupsOkAcknowledge()) {  synchronized(deliveredMessages) {
                 deliveredMessages.addFirst(md);
@@ -1131,4 +1128,8 @@
         return info.getDestination().equals(destination);
     }
 
+    public long getLastDeliveredSequenceId() {
+        return lastDeliveredSequenceId;
+    }
+
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java \
Thu Jan 29 20:51:09 2009 @@ -176,6 +176,7 @@
     private DeliveryListener deliveryListener;
     private MessageTransformer transformer;
     private BlobTransferPolicy blobTransferPolicy;
+    private long lastDeliveredSequenceId;
 
     /**
      * Construct the Session
@@ -580,7 +581,9 @@
 
     private void doClose() throws JMSException {
         dispose();
-        connection.asyncSendPacket(info.createRemoveCommand());
+        RemoveInfo removeCommand = info.createRemoveCommand();
+        removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
+        connection.asyncSendPacket(removeCommand);
     }
 
     void clearMessagesInProgress() {
@@ -607,6 +610,7 @@
                 for (Iterator<ActiveMQMessageConsumer> iter = consumers.iterator(); \
iter.hasNext();) {  ActiveMQMessageConsumer consumer = iter.next();
                     consumer.dispose();
+                    lastDeliveredSequenceId = Math.max(lastDeliveredSequenceId, \
consumer.getLastDeliveredSequenceId());  }
                 consumers.clear();
 
@@ -1937,6 +1941,15 @@
         return false;
     }
     
+    /**
+     * highest sequence id of the last message delivered by this session.
+     * Passed to the broker in the close command, maintained by dispose()
+     * @return lastDeliveredSequenceId
+     */
+    public long getLastDeliveredSequenceId() {
+        return lastDeliveredSequenceId;
+    }
+    
     protected void sendAck(MessageAck ack) throws JMSException {
         sendAck(ack,false);
     }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apach \
e/activemq/broker/TransportConnection.java?rev=739008&r1=739007&r2=739008&view=diff \
                ==============================================================================
                
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java \
Thu Jan 29 20:51:09 2009 @@ -550,7 +550,7 @@
         return null;
     }
 
-    public Response processRemoveConsumer(ConsumerId id) throws Exception {
+    public Response processRemoveConsumer(ConsumerId id, long \
lastDeliveredSequenceId) throws Exception {  SessionId sessionId = id.getParentId();
         ConnectionId connectionId = sessionId.getParentId();
         TransportConnectionState cs = lookupConnectionState(connectionId);
@@ -564,6 +564,8 @@
         if (consumerState == null) {
             throw new IllegalStateException("Cannot remove a consumer that had not \
been registered: " + id);  }
+        ConsumerInfo info = consumerState.getInfo();
+        info.setLastDeliveredSequenceId(lastDeliveredSequenceId);
         broker.removeConsumer(cs.getContext(), consumerState.getInfo());
         removeConsumerBrokerExchange(id);
         return null;
@@ -585,7 +587,7 @@
         return null;
     }
 
-    public Response processRemoveSession(SessionId id) throws Exception {
+    public Response processRemoveSession(SessionId id, long lastDeliveredSequenceId) \
throws Exception {  ConnectionId connectionId = id.getParentId();
         TransportConnectionState cs = lookupConnectionState(connectionId);
         SessionState session = cs.getSessionState(id);
@@ -599,7 +601,7 @@
         for (Iterator iter = session.getConsumerIds().iterator(); iter.hasNext();) {
             ConsumerId consumerId = (ConsumerId)iter.next();
             try {
-                processRemoveConsumer(consumerId);
+                processRemoveConsumer(consumerId, lastDeliveredSequenceId);
             } catch (Throwable e) {
                 LOG.warn("Failed to remove consumer: " + consumerId + ". Reason: " + \
e, e);  }
@@ -693,7 +695,7 @@
         return null;
     }
 
-    public synchronized Response processRemoveConnection(ConnectionId id) throws \
InterruptedException { +    public synchronized Response \
processRemoveConnection(ConnectionId id, long lastDeliveredSequenceId) throws \
InterruptedException {  TransportConnectionState cs = lookupConnectionState(id);
         if (cs != null) {
             // Don't allow things to be added to the connection state while we are
@@ -704,7 +706,7 @@
             for (Iterator iter = cs.getSessionIds().iterator(); iter.hasNext();) {
                 SessionId sessionId = (SessionId)iter.next();
                 try {
-                    processRemoveSession(sessionId);
+                    processRemoveSession(sessionId, lastDeliveredSequenceId);
                 } catch (Throwable e) {
                     SERVICELOG.warn("Failed to remove session " + sessionId, e);
                 }
@@ -999,7 +1001,7 @@
                 cs.getContext().getStopping().set(true);
                 try {
                     LOG.debug("Cleaning up connection resources: " + \
                getRemoteAddress());
-                    processRemoveConnection(cs.getInfo().getConnectionId());
+                    processRemoveConnection(cs.getInfo().getConnectionId(), 0l);
                 } catch (Throwable ignore) {
                     ignore.printStackTrace();
                 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apach \
e/activemq/broker/region/AbstractRegion.java?rev=739008&r1=739007&r2=739008&view=diff \
                ==============================================================================
                
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java \
Thu Jan 29 20:51:09 2009 @@ -182,7 +182,7 @@
                 for (Iterator<Subscription> iter = \
subscriptions.values().iterator(); iter.hasNext();) {  Subscription sub = \
iter.next();  if (sub.matches(destination)) {
-                        dest.removeSubscription(context, sub);
+                        dest.removeSubscription(context, sub, 0l);
                     }
                 }
                 destinationMap.removeAll(destination);
@@ -325,7 +325,7 @@
                 }
             }
             for(Destination dest:removeList) {
-              dest.removeSubscription(context, sub);
+              dest.removeSubscription(context, sub, \
info.getLastDeliveredSequenceId());  }
 
             destroySubscription(sub);

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Destination.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apach \
e/activemq/broker/region/Destination.java?rev=739008&r1=739007&r2=739008&view=diff \
                ==============================================================================
                
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Destination.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Destination.java \
Thu Jan 29 20:51:09 2009 @@ -25,6 +25,7 @@
 import org.apache.activemq.broker.region.policy.DeadLetterStrategy;
 import org.apache.activemq.broker.region.policy.SharedDeadLetterStrategy;
 import org.apache.activemq.command.ActiveMQDestination;
+import org.apache.activemq.command.ConsumerInfo;
 import org.apache.activemq.command.Message;
 import org.apache.activemq.command.MessageAck;
 import org.apache.activemq.command.ProducerInfo;
@@ -41,7 +42,7 @@
     public static final DeadLetterStrategy DEFAULT_DEAD_LETTER_STRATEGY = new \
                SharedDeadLetterStrategy();
     void addSubscription(ConnectionContext context, Subscription sub) throws \
Exception;  
-    void removeSubscription(ConnectionContext context, Subscription sub) throws \
Exception; +    void removeSubscription(ConnectionContext context, Subscription sub, \
long lastDeliveredSequenceId) throws Exception;  
     void addProducer(ConnectionContext context, ProducerInfo info) throws Exception;
 

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apach \
e/activemq/broker/region/DestinationFilter.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java \
Thu Jan 29 20:51:09 2009 @@ -85,8 +85,8 @@
         return next.getMemoryUsage();
     }
 
-    public void removeSubscription(ConnectionContext context, Subscription sub) \
                throws Exception {
-        next.removeSubscription(context, sub);
+    public void removeSubscription(ConnectionContext context, Subscription sub, long \
lastDeliveredSequenceId) throws Exception { +        next.removeSubscription(context, \
sub, lastDeliveredSequenceId);  }
 
     public void send(ProducerBrokerExchange context, Message messageSend) throws \
Exception {

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java \
Thu Jan 29 20:51:09 2009 @@ -280,7 +280,7 @@
         }
     }
 
-    public void removeSubscription(ConnectionContext context, Subscription sub)
+    public void removeSubscription(ConnectionContext context, Subscription sub, long \
lastDeiveredSequenceId)  throws Exception {
         destinationStatistics.getConsumers().decrement();
         // synchronize with dispatch method so that no new messages are sent
@@ -316,7 +316,10 @@
                     QueueMessageReference qmr = (QueueMessageReference)ref;
                     if( qmr.getLockOwner()==sub ) {
                         qmr.unlock();
-                        qmr.incrementRedeliveryCounter();
+                        // only increment redelivery if it was delivered or we have \
no delivery information +                        if (lastDeiveredSequenceId == 0 || \
qmr.getMessageId().getBrokerSequenceId() <= lastDeiveredSequenceId) { +               \
qmr.incrementRedeliveryCounter(); +                        }
                     }
                     list.add(qmr);
                 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java \
Thu Jan 29 20:51:09 2009 @@ -153,7 +153,7 @@
         }
     }
 
-    public void removeSubscription(ConnectionContext context, Subscription sub) \
throws Exception { +    public void removeSubscription(ConnectionContext context, \
Subscription sub, long lastDeliveredSequenceId) throws Exception {  if \
(!sub.getConsumerInfo().isDurable()) {  \
destinationStatistics.getConsumers().decrement();  synchronized (consumers) {

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/CommandTypes.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/CommandTypes.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/CommandTypes.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/CommandTypes.java \
Thu Jan 29 20:51:09 2009 @@ -24,7 +24,7 @@
 public interface CommandTypes {
 
     // What is the latest version of the openwire protocol
-    byte PROTOCOL_VERSION = 4;
+    byte PROTOCOL_VERSION = 5;
 
     // A marshaling layer can use this type to specify a null object.
     byte NULL = 0;

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ConsumerInfo.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ConsumerInfo.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ConsumerInfo.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ConsumerInfo.java \
Thu Jan 29 20:51:09 2009 @@ -59,6 +59,10 @@
     protected transient boolean networkSubscription; // this subscription
     protected transient List<ConsumerId> networkConsumerIds; // the original \
consumerId  
+    // not marshalled, populated from RemoveInfo, the last message delivered, used
+    // to suppress redelivery on prefetched messages after close
+    private transient long lastDeliveredSequenceId;
+
     // originated from a
     // network connection
 
@@ -456,4 +460,12 @@
         }
     }
 
+    public void setLastDeliveredSequenceId(long lastDeliveredSequenceId) {
+        this.lastDeliveredSequenceId  = lastDeliveredSequenceId;
+    }
+    
+    public long getLastDeliveredSequenceId() {
+        return lastDeliveredSequenceId;
+    }
+
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/RemoveInfo.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/RemoveInfo.java?rev=739008&r1=739007&r2=739008&view=diff
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/RemoveInfo.java \
                (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/RemoveInfo.java \
Thu Jan 29 20:51:09 2009 @@ -31,6 +31,7 @@
     public static final byte DATA_STRUCTURE_TYPE = CommandTypes.REMOVE_INFO;
 
     protected DataStructure objectId;
+    protected long lastDeliveredSequenceId;
 
     public RemoveInfo() {
     }
@@ -54,14 +55,25 @@
         this.objectId = objectId;
     }
 
+    /**
+     * @openwire:property version=5 cache=false
+     */
+    public long getLastDeliveredSequenceId() {
+        return lastDeliveredSequenceId;
+    }
+
+    public void setLastDeliveredSequenceId(long lastDeliveredSequenceId) {
+        this.lastDeliveredSequenceId = lastDeliveredSequenceId;
+    }
+
     public Response visit(CommandVisitor visitor) throws Exception {
         switch (objectId.getDataStructureType()) {
         case ConnectionId.DATA_STRUCTURE_TYPE:
-            return visitor.processRemoveConnection((ConnectionId)objectId);
+            return visitor.processRemoveConnection((ConnectionId)objectId, \
lastDeliveredSequenceId);  case SessionId.DATA_STRUCTURE_TYPE:
-            return visitor.processRemoveSession((SessionId)objectId);
+            return visitor.processRemoveSession((SessionId)objectId, \
lastDeliveredSequenceId);  case ConsumerId.DATA_STRUCTURE_TYPE:
-            return visitor.processRemoveConsumer((ConsumerId)objectId);
+            return visitor.processRemoveConsumer((ConsumerId)objectId, \
lastDeliveredSequenceId);  case ProducerId.DATA_STRUCTURE_TYPE:
             return visitor.processRemoveProducer((ProducerId)objectId);
         default:

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,139 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQBlobMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQBlobMessageMarshaller extends ActiveMQMessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQBlobMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQBlobMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+        ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+        info.setRemoteBlobUrl(tightUnmarshalString(dataIn, bs));
+        info.setMimeType(tightUnmarshalString(dataIn, bs));
+        info.setDeletedByBroker(bs.readBoolean());
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalString1(info.getRemoteBlobUrl(), bs);
+        rc += tightMarshalString1(info.getMimeType(), bs);
+        bs.writeBoolean(info.isDeletedByBroker());
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+        ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+        tightMarshalString2(info.getRemoteBlobUrl(), dataOut, bs);
+        tightMarshalString2(info.getMimeType(), dataOut, bs);
+        bs.readBoolean();
+
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+        info.setRemoteBlobUrl(looseUnmarshalString(dataIn));
+        info.setMimeType(looseUnmarshalString(dataIn));
+        info.setDeletedByBroker(dataIn.readBoolean());
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalString(info.getRemoteBlobUrl(), dataOut);
+        looseMarshalString(info.getMimeType(), dataOut);
+        dataOut.writeBoolean(info.isDeletedByBroker());
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBlobMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQBytesMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQBytesMessageMarshaller extends ActiveMQMessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQBytesMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQBytesMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQBytesMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQDestinationMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public abstract class ActiveMQDestinationMarshaller extends BaseDataStreamMarshaller \
{ +
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+        ActiveMQDestination info = (ActiveMQDestination)o;
+        info.setPhysicalName(tightUnmarshalString(dataIn, bs));
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        ActiveMQDestination info = (ActiveMQDestination)o;
+
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+        rc += tightMarshalString1(info.getPhysicalName(), bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+        ActiveMQDestination info = (ActiveMQDestination)o;
+        tightMarshalString2(info.getPhysicalName(), dataOut, bs);
+
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+        ActiveMQDestination info = (ActiveMQDestination)o;
+        info.setPhysicalName(looseUnmarshalString(dataIn));
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        ActiveMQDestination info = (ActiveMQDestination)o;
+
+        super.looseMarshal(wireFormat, o, dataOut);
+        looseMarshalString(info.getPhysicalName(), dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQDestinationMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQMapMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQMapMessageMarshaller extends ActiveMQMessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQMapMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQMapMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMapMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQMessageMarshaller extends MessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQObjectMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQObjectMessageMarshaller extends ActiveMQMessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQObjectMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQObjectMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQObjectMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQQueueMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQQueueMarshaller extends ActiveMQDestinationMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQQueue.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQQueue();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQQueueMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQStreamMessageMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQStreamMessageMarshaller extends ActiveMQMessageMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQStreamMessage.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQStreamMessage();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQStreamMessageMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apach \
e/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java?rev=739008&view=auto \
                ==============================================================================
                
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,99 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQTempDestinationMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public abstract class ActiveMQTempDestinationMarshaller extends \
ActiveMQDestinationMarshaller { +
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempDestinationMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java
                
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java?rev=739008&view=auto
 ==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java \
                (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java \
Thu Jan 29 20:51:09 2009 @@ -0,0 +1,114 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.openwire.v5;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.activemq.openwire.*;
+import org.apache.activemq.command.*;
+
+
+
+/**
+ * Marshalling code for Open Wire Format for ActiveMQTempQueueMarshaller
+ *
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ *        if you need to make a change, please see the modify the groovy scripts in \
the + *        under src/gram/script and then use maven openwire:generate to \
regenerate  + *        this file.
+ *
+ * @version $Revision$
+ */
+public class ActiveMQTempQueueMarshaller extends ActiveMQTempDestinationMarshaller {
+
+    /**
+     * Return the type of Data Structure we marshal
+     * @return short representation of the type data structure
+     */
+    public byte getDataStructureType() {
+        return ActiveMQTempQueue.DATA_STRUCTURE_TYPE;
+    }
+    
+    /**
+     * @return a new object instance
+     */
+    public DataStructure createObject() {
+        return new ActiveMQTempQueue();
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn, BooleanStream bs) throws IOException { +        \
super.tightUnmarshal(wireFormat, o, dataIn, bs); +
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) \
throws IOException { +
+        int rc = super.tightMarshal1(wireFormat, o, bs);
+
+        return rc + 0;
+    }
+
+    /**
+     * Write a object instance to data output stream
+     *
+     * @param o the instance to be marshaled
+     * @param dataOut the output stream
+     * @throws IOException thrown if an error occurs
+     */
+    public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut, BooleanStream bs) throws IOException { +        \
super.tightMarshal2(wireFormat, o, dataOut, bs); +
+    }
+
+    /**
+     * Un-marshal an object instance from the data input stream
+     *
+     * @param o the object to un-marshal
+     * @param dataIn the data input stream to build the object from
+     * @throws IOException
+     */
+    public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput \
dataIn) throws IOException { +        super.looseUnmarshal(wireFormat, o, dataIn);
+
+    }
+
+
+    /**
+     * Write the booleans that this object uses to a BooleanStream
+     */
+    public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput \
dataOut) throws IOException { +
+        super.looseMarshal(wireFormat, o, dataOut);
+
+    }
+}

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v5/ActiveMQTempQueueMarshaller.java
                
------------------------------------------------------------------------------
    svn:keywords = Rev Date


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic