@Override protected boolean matchesForwardingFilter(Message message, final MessageEvaluationContext mec) { boolean match = true; if (mec.getDestination().isQueue() && contains(message.getBrokerPath(), networkBrokerId)) { // potential replay back to origin match = allowReplayWhenNoConsumers && hasNoLocalConsumers(message, mec) && hasNotJustArrived(message); if (match) { LOG.trace("Replaying [{}] for [{}] back to origin in the absence of a local consumer", message.getMessageId(), message.getDestination()); } else { LOG.trace("Suppressing replay of [{}] for [{}] back to origin {}", new Object[]{ message.getMessageId(), message.getDestination(), Arrays.asList(message.getBrokerPath())} ); } } else { // use existing filter logic for topics and non replays match = super.matchesForwardingFilter(message, mec); } if (match && rateLimitExceeded()) { LOG.trace("Throttled network consumer rejecting [{}] for [{}] {}>{}/{}", new Object[]{ message.getMessageId(), message.getDestination(), matchCount, rateLimit, rateDuration }); match = false; } return match; }
@Override public void send(ProducerBrokerExchange producerExchange, Message message) throws Exception { if (message.getTimestamp() > 0 && !isDestinationDLQ(message) && (processNetworkMessages || (message.getBrokerPath() == null || message.getBrokerPath().length == 0))) { // timestamp not been disabled and has not passed through a network or processNetworkMessages=true long oldExpiration = message.getExpiration(); long newTimeStamp = System.currentTimeMillis(); long timeToLive = zeroExpirationOverride; long oldTimestamp = message.getTimestamp(); if (oldExpiration > 0) { timeToLive = oldExpiration - oldTimestamp; } if (timeToLive > 0 && ttlCeiling > 0 && timeToLive > ttlCeiling) { timeToLive = ttlCeiling; } long expiration = timeToLive + newTimeStamp; // In the scenario that the Broker is behind the clients we never want to set the // Timestamp and Expiration in the past if(!futureOnly || (expiration > oldExpiration)) { if (timeToLive > 0 && expiration > 0) { message.setExpiration(expiration); } message.setTimestamp(newTimeStamp); LOG.debug("Set message {} timestamp from {} to {}", new Object[]{ message.getMessageId(), oldTimestamp, newTimeStamp }); } } super.send(producerExchange, message); }
sb.append(m.getMessageId()); sb.append(','); sb.append(m.getCommandId()); ProducerId pid = m.getProducerId(); long sid = pid.getSessionId(); sb.append(','); sb.append(pid.getValue()); sb.append(','); sb.append(m.getCorrelationId()); sb.append(','); sb.append(m.getType());
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
public static void doResend(final ConnectionContext context, Message originalMessage, ActiveMQDestination deadLetterDestination, boolean copy) throws Exception { Message message = copy ? originalMessage.copy() : originalMessage; message.setOriginalDestination(message.getDestination()); message.setOriginalTransactionId(message.getTransactionId()); message.setDestination(deadLetterDestination); message.setTransactionId(null); message.setMemoryUsage(null); message.setRedeliveryCounter(0); message.getMessageId().setDataLocator(null); boolean originalFlowControl = context.isProducerFlowControl(); try { context.setProducerFlowControl(false); ProducerInfo info = new ProducerInfo(); ProducerState state = new ProducerState(info); ProducerBrokerExchange producerExchange = new ProducerBrokerExchange(); producerExchange.setProducerState(state); producerExchange.setMutable(true); producerExchange.setConnectionContext(context); context.getBroker().send(producerExchange, message); } finally { context.setProducerFlowControl(originalFlowControl); } }
@Override public Response processMessage(Message send) throws Exception { if (send != null) { if (trackTransactions && send.getTransactionId() != null) { ProducerId producerId = send.getProducerId(); ConnectionId connectionId = producerId.getParentId().getParentId(); if (connectionId != null) { ConnectionState cs = connectionStates.get(connectionId); if (cs != null) { TransactionState transactionState = cs.getTransactionState(send.getTransactionId()); if (transactionState != null) { transactionState.addCommand(send); if (trackTransactionProducers) { // for jmstemplate, track the producer in case it is closed before commit // and needs to be replayed SessionState ss = cs.getSessionState(producerId.getParentId()); ProducerState producerState = ss.getProducerState(producerId); producerState.setTransactionState(transactionState); } } } } return TRACKED_RESPONSE_MARKER; }else if (trackMessages) { messageCache.put(send.getMessageId(), send); } } return null; }
messageSend.removeProperty(ScheduledMessage.AMQ_SCHEDULED_CRON); if (messageSend.getTimestamp() > 0 && messageSend.getExpiration() > 0) { long oldExpiration = messageSend.getExpiration(); long newTimeStamp = System.currentTimeMillis(); long timeToLive = 0; long oldTimestamp = messageSend.getTimestamp(); LOG.debug("Set message {} timestamp from {} to {}", new Object[]{ messageSend.getMessageId(), oldTimestamp, newTimeStamp });
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
configuration.getBrokerName(), remoteBrokerName, Arrays.toString(md.getMessage().getBrokerPath()), md.getMessage() }); configuration.getBrokerName(), remoteBrokerName, md.getConsumerId(), message.getDestination(), Arrays.toString(message.getBrokerPath()), (LOG.isTraceEnabled() ? message : message.getMessageId()) }); if (isDuplex() && NetworkBridgeFilter.isAdvisoryInterpretedByNetworkBridge(message)) {
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getProducerId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getMessageId(), dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut); looseMarshalString(info.getGroupID(), dataOut); dataOut.writeInt(info.getGroupSequence()); looseMarshalString(info.getCorrelationId(), dataOut); dataOut.writeBoolean(info.isPersistent()); looseMarshalLong(wireFormat, info.getExpiration(), dataOut); dataOut.writeByte(info.getPriority()); looseMarshalNestedObject(wireFormat, (DataStructure)info.getReplyTo(), dataOut); looseMarshalLong(wireFormat, info.getTimestamp(), dataOut); looseMarshalString(info.getType(), dataOut); looseMarshalByteSequence(wireFormat, info.getContent(), dataOut); looseMarshalByteSequence(wireFormat, info.getMarshalledProperties(), dataOut); dataOut.writeBoolean(info.isCompressed()); dataOut.writeInt(info.getRedeliveryCounter()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalLong(wireFormat, info.getArrival(), dataOut); looseMarshalString(info.getUserID(), dataOut);
tightMarshalCachedObject2(wireFormat, (DataStructure)info.getProducerId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getDestination(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getTransactionId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut, bs); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getMessageId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut, bs); tightMarshalString2(info.getGroupID(), dataOut, bs); dataOut.writeInt(info.getGroupSequence()); tightMarshalString2(info.getCorrelationId(), dataOut, bs); bs.readBoolean(); tightMarshalLong2(wireFormat, info.getExpiration(), dataOut, bs); dataOut.writeByte(info.getPriority()); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getReplyTo(), dataOut, bs); tightMarshalLong2(wireFormat, info.getTimestamp(), dataOut, bs); tightMarshalString2(info.getType(), dataOut, bs); tightMarshalByteSequence2(info.getContent(), dataOut, bs); tightMarshalByteSequence2(info.getMarshalledProperties(), dataOut, bs); bs.readBoolean(); dataOut.writeInt(info.getRedeliveryCounter()); tightMarshalObjectArray2(wireFormat, info.getBrokerPath(), dataOut, bs); tightMarshalLong2(wireFormat, info.getArrival(), dataOut, bs); tightMarshalString2(info.getUserID(), dataOut, bs);
tightMarshalCachedObject2(wireFormat, (DataStructure)info.getProducerId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getDestination(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getTransactionId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut, bs); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getMessageId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut, bs); tightMarshalString2(info.getGroupID(), dataOut, bs); dataOut.writeInt(info.getGroupSequence()); tightMarshalString2(info.getCorrelationId(), dataOut, bs); bs.readBoolean(); tightMarshalLong2(wireFormat, info.getExpiration(), dataOut, bs); dataOut.writeByte(info.getPriority()); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getReplyTo(), dataOut, bs); tightMarshalLong2(wireFormat, info.getTimestamp(), dataOut, bs); tightMarshalString2(info.getType(), dataOut, bs); tightMarshalByteSequence2(info.getContent(), dataOut, bs); tightMarshalByteSequence2(info.getMarshalledProperties(), dataOut, bs); bs.readBoolean(); dataOut.writeInt(info.getRedeliveryCounter()); tightMarshalObjectArray2(wireFormat, info.getBrokerPath(), dataOut, bs); tightMarshalLong2(wireFormat, info.getArrival(), dataOut, bs); tightMarshalString2(info.getUserID(), dataOut, bs);
rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getProducerId(), bs); rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getDestination(), bs); rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getTransactionId(), bs); rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getOriginalDestination(), bs); rc += tightMarshalNestedObject1(wireFormat, (DataStructure)info.getMessageId(), bs); rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getOriginalTransactionId(), bs); rc += tightMarshalString1(info.getGroupID(), bs); rc += tightMarshalString1(info.getCorrelationId(), bs); bs.writeBoolean(info.isPersistent()); rc += tightMarshalLong1(wireFormat, info.getExpiration(), bs); rc += tightMarshalNestedObject1(wireFormat, (DataStructure)info.getReplyTo(), bs); rc += tightMarshalLong1(wireFormat, info.getTimestamp(), bs); rc += tightMarshalString1(info.getType(), bs); rc += tightMarshalByteSequence1(info.getContent(), bs); rc += tightMarshalByteSequence1(info.getMarshalledProperties(), bs); rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getTargetConsumerId(), bs); bs.writeBoolean(info.isCompressed()); rc += tightMarshalObjectArray1(wireFormat, info.getBrokerPath(), bs); rc += tightMarshalLong1(wireFormat, info.getArrival(), bs); rc += tightMarshalString1(info.getUserID(), bs);
tightMarshalCachedObject2(wireFormat, (DataStructure)info.getProducerId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getDestination(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getTransactionId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalDestination(), dataOut, bs); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getMessageId(), dataOut, bs); tightMarshalCachedObject2(wireFormat, (DataStructure)info.getOriginalTransactionId(), dataOut, bs); tightMarshalString2(info.getGroupID(), dataOut, bs); dataOut.writeInt(info.getGroupSequence()); tightMarshalString2(info.getCorrelationId(), dataOut, bs); bs.readBoolean(); tightMarshalLong2(wireFormat, info.getExpiration(), dataOut, bs); dataOut.writeByte(info.getPriority()); tightMarshalNestedObject2(wireFormat, (DataStructure)info.getReplyTo(), dataOut, bs); tightMarshalLong2(wireFormat, info.getTimestamp(), dataOut, bs); tightMarshalString2(info.getType(), dataOut, bs); tightMarshalByteSequence2(info.getContent(), dataOut, bs); tightMarshalByteSequence2(info.getMarshalledProperties(), dataOut, bs); bs.readBoolean(); dataOut.writeInt(info.getRedeliveryCounter()); tightMarshalObjectArray2(wireFormat, info.getBrokerPath(), dataOut, bs); tightMarshalLong2(wireFormat, info.getArrival(), dataOut, bs); tightMarshalString2(info.getUserID(), dataOut, bs);