in openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/MessageMarshaller.java [235:283]
public void looseMarshal(OpenWireFormat wireFormat, Object source, DataOutput dataOut) throws IOException {
Message info = (Message) source;
int version = wireFormat.getVersion();
info.beforeMarshall(wireFormat);
super.looseMarshal(wireFormat, source, 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);
looseMarshalNestedObject(wireFormat, (DataStructure)info.getDataStructure(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getTargetConsumerId(), dataOut);
dataOut.writeBoolean(info.isCompressed());
dataOut.writeInt(info.getRedeliveryCounter());
looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut);
looseMarshalLong(wireFormat, info.getArrival(), dataOut);
looseMarshalString(info.getUserId(), dataOut);
dataOut.writeBoolean(info.isRecievedByDFBridge());
if (version >= 2) {
dataOut.writeBoolean(info.isDroppable());
}
if (version >= 3) {
looseMarshalObjectArray(wireFormat, info.getCluster(), dataOut);
}
if (version >= 3) {
looseMarshalLong(wireFormat, info.getBrokerInTime(), dataOut);
}
if (version >= 3) {
looseMarshalLong(wireFormat, info.getBrokerOutTime(), dataOut);
}
if (version >= 10) {
dataOut.writeBoolean(info.isJMSXGroupFirstForConsumer());
}
info.afterMarshall(wireFormat);
}