Class QueueMessage

java.lang.Object
org.j7m.middleware.api.messaging.QueueMessage
All Implemented Interfaces:
Serializable

public final class QueueMessage extends Object implements Serializable
Immutable durable queue message payload and public metadata.

The class is immutable, serializable, and thread-safe. Payload bytes are defensively copied on construction and access. Payload contents are durable queue data and must not be included in exception messages, status text, metrics, or recovery reports. The associated MessageHeader is safe metadata and is preserved by the Phase 6.3 durable queue and outbox recovery path.

See Also:
  • Constructor Details

    • QueueMessage

      public QueueMessage(MessageHeader header, byte[] payload)
      Creates a queue message.
      Parameters:
      header - safe public metadata; MessageHeader.empty() when null
      payload - payload bytes; an empty payload when null
  • Method Details

    • header

      public MessageHeader header()
      Returns immutable safe metadata.
      Returns:
      message header
    • payload

      public byte[] payload()
      Returns a defensive payload copy.
      Returns:
      payload copy
    • payloadLength

      public int payloadLength()
      Returns payload size in bytes.
      Returns:
      payload length