import org.apache.kafka.streams.processor.TaskId
val topicGroupId = 0
val partition = 0
val tid = new TaskId(topicGroupId, partition)
scala> println(tid)
0_0
TaskId
TaskId takes the following to be created:
TaskId is created when:
-
DefaultPartitionGrouperis requested to partitionGroups -
GlobalProcessorContextImplis created
When requested for a textual representation (toString), TaskId simply returns the topic group ID and the assigned partition ID separated by _ (underscore), e.g. 0_0.
Creating TaskId from Textual Representation — parse Factory Method
TaskId parse(final String taskIdStr)
parse creates a TaskId from the given textual representation.
parse throws a TaskIdFormatException if the given taskIdStr is of incorrect format.
import org.apache.kafka.streams.processor.TaskId
val incorrectTaskId = "hello_world"
scala> TaskId.parse(incorrectTaskId)
org.apache.kafka.streams.errors.TaskIdFormatException: Task id cannot be parsed correctly from hello_world
at org.apache.kafka.streams.processor.TaskId.parse(TaskId.java:58)
... 36 elided
|
Note
|
|
Serializing TaskId — writeTo Method
void writeTo(final ByteBuffer buf)
void writeTo(final DataOutputStream out)
writeTo simply writes the topicGroupId and the partition out to the given output (either buf or out).
|
Note
|
|
Creating TaskId from Encoded Representation (Deserialization) — readFrom Factory Method
TaskId readFrom(final ByteBuffer buf)
TaskId readFrom(final DataInputStream in)
readFrom simply creates a TaskId from (the numbers) from the given input (either buf or in).
|
Note
|
|