You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2008/12/10 17:23:11 UTC
svn commit: r725323 [1/7] - in /activemq/trunk/activemq-core: ./
src/main/java/org/apache/activemq/broker/
src/main/java/org/apache/activemq/broker/region/
src/main/java/org/apache/activemq/command/
src/main/java/org/apache/activemq/network/ src/main/j...
Author: gtully
Date: Wed Dec 10 08:23:07 2008
New Revision: 725323
URL: http://svn.apache.org/viewvc?rev=725323&view=rev
Log:
resolve AMQ-2030, rev OpenWire version to 4 to accomadate additional field in ConsumerInfo that can hold array of networkConsumerIds that allows suppression of duplicate topic subscriptions in a cyclic network
Added:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTopicMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/BaseCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/BaseDataStreamMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/BrokerIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/BrokerInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConnectionControlMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConnectionErrorMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConnectionIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConnectionInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConsumerControlMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConsumerIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ConsumerInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ControlCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/DataArrayResponseMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/DataResponseMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/DestinationInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/DiscoveryEventMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ExceptionResponseMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/FlushCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/IntegerResponseMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/JournalQueueAckMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/JournalTopicAckMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/JournalTraceMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/JournalTransactionMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/KeepAliveInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/LastPartialCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/LocalTransactionIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MarshallerFactory.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessageAckMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessageDispatchMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessageDispatchNotificationMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessageIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessageMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/MessagePullMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/NetworkBridgeFilterMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/PartialCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ProducerAckMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ProducerIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ProducerInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/RemoveInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/RemoveSubscriptionInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ReplayCommandMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ResponseMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/SessionIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/SessionInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ShutdownInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/SubscriptionInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/TransactionIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/TransactionInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/WireFormatInfoMarshaller.java (with props)
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/XATransactionIdMarshaller.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/BaseCommandTestSupport.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/BrokerIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/BrokerInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConnectionControlTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConnectionErrorTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConnectionIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConnectionInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConsumerControlTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConsumerIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ConsumerInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ControlCommandTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/DataArrayResponseTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/DataResponseTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/DestinationInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/DiscoveryEventTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ExceptionResponseTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/FlushCommandTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/IntegerResponseTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/JournalQueueAckTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/JournalTopicAckTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/JournalTraceTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/JournalTransactionTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/KeepAliveInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/LastPartialCommandTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/LocalTransactionIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessageAckTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessageDispatchNotificationTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessageDispatchTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessageIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessagePullTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/MessageTestSupport.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/NetworkBridgeFilterTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/PartialCommandTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ProducerAckTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ProducerIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ProducerInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/RemoveInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/RemoveSubscriptionInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ReplayCommandTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ResponseTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/SessionIdTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/SessionInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/ShutdownInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/SubscriptionInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/TransactionIdTestSupport.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/TransactionInfoTest.java (with props)
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v4/XATransactionIdTest.java (with props)
Modified:
activemq/trunk/activemq-core/pom.xml
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/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/network/DemandForwardingBridgeSupport.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MultiBrokersMultiClientsUsingTcpTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/NoDuplicateOnTopicNetworkTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkUsingTcpTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerTopicNetworkUsingTcpTest.java
Modified: activemq/trunk/activemq-core/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/pom.xml?rev=725323&r1=725322&r2=725323&view=diff
==============================================================================
--- activemq/trunk/activemq-core/pom.xml (original)
+++ activemq/trunk/activemq-core/pom.xml Wed Dec 10 08:23:07 2008
@@ -624,7 +624,7 @@
<tasks>
<echo>Running OpenWire Generator</echo>
<taskdef name="generate" classname="org.apache.activemq.openwire.tool.JavaGeneratorTask" classpathref="maven.compile.classpath" />
- <generate version="3" basedir="${basedir}" />
+ <generate version="4" basedir="${basedir}" />
</tasks>
</configuration>
<goals>
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/apache/activemq/broker/TransportConnection.java?rev=725323&r1=725322&r2=725323&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 Wed Dec 10 08:23:07 2008
@@ -1171,6 +1171,7 @@
Transport remoteBridgeTransport = new ResponseCorrelator(transport);
duplexBridge = NetworkBridgeFactory.createBridge(config, localTransport,
remoteBridgeTransport);
+ duplexBridge.setBrokerService(broker.getBrokerService());
// now turn duplex off this side
info.setDuplexConnection(false);
duplexBridge.setCreatedByDuplex(true);
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/apache/activemq/broker/region/AbstractRegion.java?rev=725323&r1=725322&r2=725323&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 Wed Dec 10 08:23:07 2008
@@ -132,6 +132,10 @@
}
}
+ public Map<ConsumerId, Subscription> getSubscriptions() {
+ return subscriptions;
+ }
+
protected List<Subscription> addSubscriptionsForDestination(ConnectionContext context, Destination dest) throws Exception {
List<Subscription> rc = new ArrayList<Subscription>();
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=725323&r1=725322&r2=725323&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 Wed Dec 10 08:23:07 2008
@@ -24,7 +24,7 @@
public interface CommandTypes {
// What is the latest version of the openwire protocol
- byte PROTOCOL_VERSION = 3;
+ byte PROTOCOL_VERSION = 4;
// 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=725323&r1=725322&r2=725323&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 Wed Dec 10 08:23:07 2008
@@ -432,4 +432,28 @@
return result;
}
+ /**
+ * Tracks the original subscription id that causes a subscription to
+ * percolate through a network when networkTTL > 1. Tracking the original
+ * subscription allows duplicate suppression.
+ *
+ * @return array of the current subscription path
+ * @openwire:property version=4
+ */
+ public ConsumerId[] getNetworkConsumerPath() {
+ ConsumerId[] result = null;
+ if (networkConsumerIds != null) {
+ result = networkConsumerIds.toArray(new ConsumerId[0]);
+ }
+ return result;
+ }
+
+ public void setNetworkConsumerPath(ConsumerId[] consumerPath) {
+ if (consumerPath != null) {
+ for (int i=0; i<consumerPath.length; i++) {
+ addNetworkConsumerId(consumerPath[i]);
+ }
+ }
+ }
+
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java?rev=725323&r1=725322&r2=725323&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java Wed Dec 10 08:23:07 2008
@@ -18,6 +18,8 @@
import java.io.IOException;
import java.security.GeneralSecurityException;
+import java.util.Collection;
+import java.util.List;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
@@ -30,7 +32,12 @@
import org.apache.activemq.Service;
import org.apache.activemq.advisory.AdvisorySupport;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.BrokerServiceAware;
import org.apache.activemq.broker.TransportConnection;
+import org.apache.activemq.broker.region.AbstractRegion;
+import org.apache.activemq.broker.region.RegionBroker;
+import org.apache.activemq.broker.region.Subscription;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQMessage;
import org.apache.activemq.command.ActiveMQTempDestination;
@@ -78,7 +85,7 @@
*
* @version $Revision$
*/
-public abstract class DemandForwardingBridgeSupport implements NetworkBridge {
+public abstract class DemandForwardingBridgeSupport implements NetworkBridge, BrokerServiceAware {
private static final Log LOG = LogFactory.getLog(DemandForwardingBridge.class);
private static final ThreadPoolExecutor ASYNC_TASKS;
@@ -123,6 +130,7 @@
private AtomicBoolean started = new AtomicBoolean();
private TransportConnection duplexInitiatingConnection;
+ private BrokerService brokerService = null;
public DemandForwardingBridgeSupport(NetworkBridgeConfiguration configuration, Transport localBroker, Transport remoteBroker) {
this.configuration = configuration;
@@ -498,20 +506,20 @@
// Create a new local subscription
ConsumerInfo info = (ConsumerInfo)data;
BrokerId[] path = info.getBrokerPath();
+
if (path != null && path.length >= networkTTL) {
if (LOG.isDebugEnabled()) {
LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + ", restricted to " + networkTTL + " network hops only : " + info);
}
return;
}
- if (contains(info.getBrokerPath(), localBrokerPath[0])) {
- // Ignore this consumer as it's a consumer we locally sent to
- // the broker.
+ if (contains(path, localBrokerPath[0])) {
+ // Ignore this consumer as it's a consumer we locally sent to the broker.
if (LOG.isDebugEnabled()) {
LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + ", already routed through this broker once : " + info);
}
return;
- }
+ }
if (!isPermissableDestination(info.getDestination())) {
// ignore if not in the permitted or in the excluded list
if (LOG.isDebugEnabled()) {
@@ -519,13 +527,25 @@
}
return;
}
- if (addConsumerInfo(info)) {
- if (LOG.isDebugEnabled()) {
- LOG.debug(configuration.getBrokerName() + " Forwarding sub on " + localBroker + " from " + remoteBrokerName + " : " + info);
+
+ // in a cyclic network there can be multiple bridges per broker that can propagate
+ // a network subscription so there is a need to synchronise on a shared entity
+ synchronized(brokerService) {
+ if (isDuplicateNetworkSubscription(info)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + ", destination " + info.getDestination()
+ + ", for " + info.getConsumerId() + " as a duplicate. Already subscribed via network subscription :" + info);
+ }
+ return;
}
- } else {
- if (LOG.isDebugEnabled()) {
- LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + " as already subscribed to matching destination : " + info);
+ if (addConsumerInfo(info)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(configuration.getBrokerName() + " Forwarding sub on " + localBroker + " from " + remoteBrokerName + " : " + info);
+ }
+ } else {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + " as already subscribed to matching destination : " + info);
+ }
}
}
} else if (data.getClass() == DestinationInfo.class) {
@@ -875,7 +895,7 @@
}
/**
- * Subscriptions for these desitnations are always created
+ * Subscriptions for these destinations are always created
*/
protected void setupStaticDestinations() {
ActiveMQDestination[] dests = staticallyIncludedDestinations;
@@ -907,6 +927,52 @@
return result;
}
+ /*
+ * check our existing subs networkConsumerIds against the list of network ids in this subscription
+ * a match means a duplicate which we suppress for topics
+ */
+ private boolean isDuplicateNetworkSubscription(ConsumerInfo consumerInfo) {
+ boolean isDuplicate = false;
+ if (consumerInfo.getDestination().isTopic()) {
+ List<ConsumerId> candidateConsumers = consumerInfo.getNetworkConsumerIds();
+ if (candidateConsumers.isEmpty()) {
+ candidateConsumers.add(consumerInfo.getConsumerId());
+ }
+ Collection<Subscription> currentSubs = getTopicRegionSubscriptions();
+ for (Subscription sub : currentSubs) {
+ List<ConsumerId> networkConsumers = sub.getConsumerInfo().getNetworkConsumerIds();
+ if (!networkConsumers.isEmpty()) {
+ if (matchFound(candidateConsumers, networkConsumers)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("subscription: " + consumerInfo + " is duplicated by network subscription: "
+ + sub.getConsumerInfo() + ", networkComsumerIds: " + networkConsumers);
+ }
+ isDuplicate = true;
+ break;
+ }
+ }
+ }
+ }
+ return isDuplicate;
+ }
+
+ private boolean matchFound(List<ConsumerId> candidateConsumers, List<ConsumerId> networkConsumers) {
+ boolean found = false;
+ for (ConsumerId aliasConsumer : networkConsumers) {
+ if (candidateConsumers.contains(aliasConsumer)) {
+ found = true;
+ break;
+ }
+ }
+ return found;
+ }
+
+ private final Collection<Subscription> getTopicRegionSubscriptions() {
+ RegionBroker region = (RegionBroker) brokerService.getRegionBroker();
+ AbstractRegion topicRegion = (AbstractRegion) region.getTopicRegion();
+ return topicRegion.getSubscriptions().values();
+ }
+
protected DemandSubscription createDemandSubscription(ConsumerInfo info) throws IOException {
//add our original id to ourselves
info.addNetworkConsumerId(info.getConsumerId());
@@ -1037,6 +1103,10 @@
return configuration.isDuplex() || createdByDuplex;
}
+ public void setBrokerService(BrokerService brokerService) {
+ this.brokerService = brokerService;
+ }
+
static {
ASYNC_TASKS = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 30, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(), new ThreadFactory() {
public Thread newThread(Runnable runnable) {
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java?rev=725323&r1=725322&r2=725323&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java Wed Dec 10 08:23:07 2008
@@ -207,6 +207,7 @@
};
DemandForwardingBridge result = NetworkBridgeFactory.createBridge(this, localTransport, remoteTransport, listener);
+ result.setBrokerService(getBrokerService());
return configureBridge(result);
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java?rev=725323&r1=725322&r2=725323&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java Wed Dec 10 08:23:07 2008
@@ -151,7 +151,9 @@
}
protected DemandForwardingBridgeSupport createBridge(Transport local, Transport remote) {
- return new CompositeDemandForwardingBridge(this, local, remote);
+ CompositeDemandForwardingBridge bridge = new CompositeDemandForwardingBridge(this, local, remote);
+ bridge.setBrokerService(getBrokerService());
+ return bridge;
}
}
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQBlobMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBlobMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQBytesMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQBytesMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQDestinationMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQDestinationMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQMapMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMapMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQObjectMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQObjectMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQQueueMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQQueueMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQStreamMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQStreamMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQTempDestinationMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempDestinationMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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/v4/ActiveMQTempQueueMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempQueueMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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 ActiveMQTempTopicMarshaller
+ *
+ *
+ * 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 ActiveMQTempTopicMarshaller extends ActiveMQTempDestinationMarshaller {
+
+ /**
+ * Return the type of Data Structure we marshal
+ * @return short representation of the type data structure
+ */
+ public byte getDataStructureType() {
+ return ActiveMQTempTopic.DATA_STRUCTURE_TYPE;
+ }
+
+ /**
+ * @return a new object instance
+ */
+ public DataStructure createObject() {
+ return new ActiveMQTempTopic();
+ }
+
+ /**
+ * 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/v4/ActiveMQTempTopicMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTempTopicMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java?rev=725323&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java (added)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java Wed Dec 10 08:23:07 2008
@@ -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.v4;
+
+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 ActiveMQTextMessageMarshaller
+ *
+ *
+ * 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 ActiveMQTextMessageMarshaller extends ActiveMQMessageMarshaller {
+
+ /**
+ * Return the type of Data Structure we marshal
+ * @return short representation of the type data structure
+ */
+ public byte getDataStructureType() {
+ return ActiveMQTextMessage.DATA_STRUCTURE_TYPE;
+ }
+
+ /**
+ * @return a new object instance
+ */
+ public DataStructure createObject() {
+ return new ActiveMQTextMessage();
+ }
+
+ /**
+ * 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/v4/ActiveMQTextMessageMarshaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v4/ActiveMQTextMessageMarshaller.java
------------------------------------------------------------------------------
svn:keywords = Rev Date