KubeMQ
Client SDKsJavaReference

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 KubeMQException

Unary send with builder-created QueueMessage (channel, body, metadata, delay, expiration, DLQ, max receive count).

Note: sendQueuesMessage is a deprecated alias (deprecated since 2.2.0, forRemoval=true at v3.0). Prefer sendQueueMessage.

Parameters:

NameTypeRequiredDescription
messageQueueMessageYesFully populated queue payload

Returns: QueueSendResult — server IDs and status flags.

receiveQueueMessages

QueuesPollResponse receiveQueueMessages(QueuesPollRequest request) throws KubeMQException

Receives batches via the downstream stream. Each QueueMessageReceived exposes ack/reject/requeue unless autoAck is enabled on the poll request.

Parameters:

NameTypeRequiredDescription
requestQueuesPollRequestYesChannel, max messages, wait, visibility, auto-ack

QueuesPollRequest fields:

FieldDescription
channelQueue channel name
pollMaxMessagesMax messages to receive
pollWaitTimeoutInSecondsLong poll wait
visibilitySecondsProcessing lease
autoAckMessagesAcknowledge 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

MethodDescription
.channel(String)Target queue
.body(byte[])Payload
.delayInSeconds(int)Initial delay
.expirationInSeconds(int)TTL
.attemptsBeforeDeadLetterQueue(int)Retry budget
.deadLetterQueue(String)DLQ routing

Quick Usage

Queues.java
QueueMessage msg = QueueMessage.builder()
    .channel("jobs")
    .body(payload)
    .build();

queues.sendQueueMessage(msg);

See Also

Was this page helpful?

On this page