Package org.apache.pulsar.client.api
Interface MessageId
-
- All Superinterfaces:
java.lang.Comparable<MessageId>
,java.io.Serializable
@Public @Stable public interface MessageId extends java.lang.Comparable<MessageId>, java.io.Serializable
Opaque unique identifier of a single messageThe MessageId can be used to reference a specific message, for example when acknowledging, without having to retain the message content in memory for an extended period of time.
Message ids are
Comparable
and a bigger message id will imply that a message was published "after" the other one.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static MessageId
fromByteArray(byte[] data)
De-serialize a message id from a byte array.static MessageId
fromByteArrayWithTopic(byte[] data, java.lang.String topicName)
De-serialize a message id from a byte array with its topic information attached.byte[]
toByteArray()
Serialize the message ID into a byte array.
-
-
-
Method Detail
-
toByteArray
byte[] toByteArray()
Serialize the message ID into a byte array.The serialized message id can be stored away and later get deserialized by using
fromByteArray(byte[])
.
-
fromByteArray
static MessageId fromByteArray(byte[] data) throws java.io.IOException
De-serialize a message id from a byte array.- Parameters:
data
- byte array containing the serialized message id- Returns:
- the de-serialized messageId object
- Throws:
java.io.IOException
- if the de-serialization fails
-
fromByteArrayWithTopic
static MessageId fromByteArrayWithTopic(byte[] data, java.lang.String topicName) throws java.io.IOException
De-serialize a message id from a byte array with its topic information attached.The topic information is needed when acknowledging a
MessageId
on a consumer that is consuming from multiple topics.- Parameters:
data
- the byte array with the serialized message idtopicName
- the topic name- Returns:
- a
instance
- Throws:
java.io.IOException
- if the de-serialization fails
-
-