Queues
Durable queues and streaming transports — KubeMQ Java SDK reference.
QueuesClient sends messages with sendQueueMessage, receives them through receiveQueueMessages (downstream gRPC stream managed internally), and offers convenience waiting / pull helpers for peek-style reads.
Simple Queues
sendQueueMessage
QueueSendResult sendQueueMessage(QueueMessage message) throws KubeMQExceptionUnary send with builder-created QueueMessage (channel, body, metadata, delay, expiration, DLQ, max receive count).
Note:
sendQueuesMessageis a deprecated alias (deprecated since 2.2.0,forRemoval=trueat v3.0). PrefersendQueueMessage.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
message | QueueMessage | Yes | Fully populated queue payload |
Returns: QueueSendResult — server IDs and status flags.
receiveQueueMessages
QueuesPollResponse receiveQueueMessages(QueuesPollRequest request) throws KubeMQExceptionReceives batches via the downstream stream. Each QueueMessageReceived exposes ack/reject/requeue unless autoAck is enabled on the poll request.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
request | QueuesPollRequest | Yes | Channel, max messages, wait, visibility, auto-ack |
QueuesPollRequest fields:
| Field | Description |
|---|---|
channel | Queue channel name |
pollMaxMessages | Max messages to receive |
pollWaitTimeoutInSeconds | Long poll wait |
visibilitySeconds | Processing lease |
autoAckMessages | Acknowledge on delivery |
waiting / pull
QueueMessagesWaiting waiting(String channel, int maxMessages, int waitTimeoutInSeconds)
QueueMessagesPulled pull(String channel, int maxMessages, int waitTimeoutInSeconds)Peek (waiting) or destructive pull (pull) helpers built on unary receive RPCs.
Queue Streaming
Internally the SDK multiplexes QueueUpstreamHandler for batched sends and QueueDownstreamHandler for long-lived receive streams. Application code typically calls the high-level methods above; advanced scenarios can rely on async variants (sendQueuesMessageAsync, receiveQueuesMessagesAsync, waitingAsync, pullAsync).
QueueMessage builder highlights
| Method | Description |
|---|---|
.channel(String) | Target queue |
.body(byte[]) | Payload |
.delayInSeconds(int) | Initial delay |
.expirationInSeconds(int) | TTL |
.attemptsBeforeDeadLetterQueue(int) | Retry budget |
.deadLetterQueue(String) | DLQ routing |
Quick Usage
QueueMessage msg = QueueMessage.builder()
.channel("jobs")
.body(payload)
.build();
queues.sendQueueMessage(msg);See Also
Was this page helpful?