Class MessageImpl<T>

java.lang.Object
org.apache.pulsar.client.impl.MessageImpl<T>
All Implemented Interfaces:
org.apache.pulsar.client.api.Message<T>

public class MessageImpl<T> extends Object implements org.apache.pulsar.client.api.Message<T>
  • Field Details

    • messageId

      protected org.apache.pulsar.client.api.MessageId messageId
  • Constructor Details

    • MessageImpl

      public MessageImpl(String topic, String msgId, Map<String,String> properties, byte[] payload, org.apache.pulsar.client.api.Schema<T> schema, org.apache.pulsar.common.api.proto.MessageMetadata msgMetadata)
    • MessageImpl

      public MessageImpl(String topic, String msgId, Map<String,String> properties, io.netty.buffer.ByteBuf payload, org.apache.pulsar.client.api.Schema<T> schema, org.apache.pulsar.common.api.proto.MessageMetadata msgMetadata)
  • Method Details

    • create

      public static <T> MessageImpl<T> create(org.apache.pulsar.common.api.proto.MessageMetadata msgMetadata, ByteBuffer payload, org.apache.pulsar.client.api.Schema<T> schema, String topic)
    • create

      public static <T> MessageImpl<T> create(String topic, MessageIdImpl messageId, org.apache.pulsar.common.api.proto.MessageMetadata msgMetadata, io.netty.buffer.ByteBuf payload, Optional<org.apache.pulsar.common.api.EncryptionContext> encryptionCtx, ClientCnx cnx, org.apache.pulsar.client.api.Schema<T> schema, int redeliveryCount, boolean pooledMessage, long consumerEpoch)
    • create

      public static <T> MessageImpl<T> create(String topic, BatchMessageIdImpl batchMessageIdImpl, org.apache.pulsar.common.api.proto.MessageMetadata batchMetadata, org.apache.pulsar.common.api.proto.SingleMessageMetadata singleMessageMetadata, io.netty.buffer.ByteBuf payload, Optional<org.apache.pulsar.common.api.EncryptionContext> encryptionCtx, ClientCnx cnx, org.apache.pulsar.client.api.Schema<T> schema, int redeliveryCount, boolean pooledMessage, long consumerEpoch)
    • deserialize

      public static MessageImpl<byte[]> deserialize(io.netty.buffer.ByteBuf headersAndPayload) throws IOException
      Throws:
      IOException
    • isEntryExpired

      public static boolean isEntryExpired(int messageTTLInSeconds, long entryTimestamp)
    • isEntryPublishedEarlierThan

      public static boolean isEntryPublishedEarlierThan(long entryTimestamp, long timestamp)
    • deserializeSkipBrokerEntryMetaData

      public static MessageImpl<byte[]> deserializeSkipBrokerEntryMetaData(io.netty.buffer.ByteBuf headersAndPayloadWithBrokerEntryMetadata) throws IOException
      Throws:
      IOException
    • setReplicatedFrom

      public void setReplicatedFrom(String cluster)
    • isReplicated

      public boolean isReplicated()
      Specified by:
      isReplicated in interface org.apache.pulsar.client.api.Message<T>
    • getReplicatedFrom

      public String getReplicatedFrom()
      Specified by:
      getReplicatedFrom in interface org.apache.pulsar.client.api.Message<T>
    • getPublishTime

      public long getPublishTime()
      Specified by:
      getPublishTime in interface org.apache.pulsar.client.api.Message<T>
    • getEventTime

      public long getEventTime()
      Specified by:
      getEventTime in interface org.apache.pulsar.client.api.Message<T>
    • getDeliverAtTime

      public long getDeliverAtTime()
    • isExpired

      public boolean isExpired(int messageTTLInSeconds)
    • getData

      public byte[] getData()
      Specified by:
      getData in interface org.apache.pulsar.client.api.Message<T>
    • size

      public int size()
      Specified by:
      size in interface org.apache.pulsar.client.api.Message<T>
    • getSchemaInternal

      public org.apache.pulsar.client.api.Schema<T> getSchemaInternal()
    • getReaderSchema

      public Optional<org.apache.pulsar.client.api.Schema<?>> getReaderSchema()
      Specified by:
      getReaderSchema in interface org.apache.pulsar.client.api.Message<T>
    • getSchemaVersion

      public byte[] getSchemaVersion()
      Specified by:
      getSchemaVersion in interface org.apache.pulsar.client.api.Message<T>
    • getSchemaInfo

      public org.apache.pulsar.common.schema.SchemaInfo getSchemaInfo()
    • getSchemaHash

      public org.apache.pulsar.common.protocol.schema.SchemaHash getSchemaHash()
    • setSchemaInfoForReplicator

      public void setSchemaInfoForReplicator(org.apache.pulsar.common.schema.SchemaInfo schemaInfo)
    • getSchemaInfoForReplicator

      public org.apache.pulsar.common.schema.SchemaInfo getSchemaInfoForReplicator()
    • getValue

      public T getValue()
      Specified by:
      getValue in interface org.apache.pulsar.client.api.Message<T>
    • getSequenceId

      public long getSequenceId()
      Specified by:
      getSequenceId in interface org.apache.pulsar.client.api.Message<T>
    • getProducerName

      public String getProducerName()
      Specified by:
      getProducerName in interface org.apache.pulsar.client.api.Message<T>
    • getDataBuffer

      public io.netty.buffer.ByteBuf getDataBuffer()
    • getMessageId

      public org.apache.pulsar.client.api.MessageId getMessageId()
      Specified by:
      getMessageId in interface org.apache.pulsar.client.api.Message<T>
    • getProperties

      public Map<String,String> getProperties()
      Specified by:
      getProperties in interface org.apache.pulsar.client.api.Message<T>
    • hasProperty

      public boolean hasProperty(String name)
      Specified by:
      hasProperty in interface org.apache.pulsar.client.api.Message<T>
    • getProperty

      public String getProperty(String name)
      Specified by:
      getProperty in interface org.apache.pulsar.client.api.Message<T>
    • getMessageBuilder

      public org.apache.pulsar.common.api.proto.MessageMetadata getMessageBuilder()
    • hasKey

      public boolean hasKey()
      Specified by:
      hasKey in interface org.apache.pulsar.client.api.Message<T>
    • getTopicName

      public String getTopicName()
      Specified by:
      getTopicName in interface org.apache.pulsar.client.api.Message<T>
    • getKey

      public String getKey()
      Specified by:
      getKey in interface org.apache.pulsar.client.api.Message<T>
    • hasBase64EncodedKey

      public boolean hasBase64EncodedKey()
      Specified by:
      hasBase64EncodedKey in interface org.apache.pulsar.client.api.Message<T>
    • getKeyBytes

      public byte[] getKeyBytes()
      Specified by:
      getKeyBytes in interface org.apache.pulsar.client.api.Message<T>
    • hasOrderingKey

      public boolean hasOrderingKey()
      Specified by:
      hasOrderingKey in interface org.apache.pulsar.client.api.Message<T>
    • getOrderingKey

      public byte[] getOrderingKey()
      Specified by:
      getOrderingKey in interface org.apache.pulsar.client.api.Message<T>
    • getBrokerEntryMetadata

      public org.apache.pulsar.common.api.proto.BrokerEntryMetadata getBrokerEntryMetadata()
    • setBrokerEntryMetadata

      public void setBrokerEntryMetadata(org.apache.pulsar.common.api.proto.BrokerEntryMetadata brokerEntryMetadata)
    • getCnx

      public ClientCnx getCnx()
    • recycle

      public void recycle()
    • release

      public void release()
      Specified by:
      release in interface org.apache.pulsar.client.api.Message<T>
    • hasBrokerPublishTime

      public boolean hasBrokerPublishTime()
      Specified by:
      hasBrokerPublishTime in interface org.apache.pulsar.client.api.Message<T>
    • getBrokerPublishTime

      public Optional<Long> getBrokerPublishTime()
      Specified by:
      getBrokerPublishTime in interface org.apache.pulsar.client.api.Message<T>
    • hasIndex

      public boolean hasIndex()
      Specified by:
      hasIndex in interface org.apache.pulsar.client.api.Message<T>
    • getIndex

      public Optional<Long> getIndex()
      Specified by:
      getIndex in interface org.apache.pulsar.client.api.Message<T>
    • hasReplicateTo

      public boolean hasReplicateTo()
    • getReplicateTo

      public List<String> getReplicateTo()
    • hasReplicateFrom

      public boolean hasReplicateFrom()
    • getEncryptionCtx

      public Optional<org.apache.pulsar.common.api.EncryptionContext> getEncryptionCtx()
      Specified by:
      getEncryptionCtx in interface org.apache.pulsar.client.api.Message<T>
    • getRedeliveryCount

      public int getRedeliveryCount()
      Specified by:
      getRedeliveryCount in interface org.apache.pulsar.client.api.Message<T>