Events
Real-time pub/sub API for Events and Events Store in the KubeMQ Java SDK reference, covering publishing and subscribing.
Use PubSubClient for fire-and-forget events. Messages are expressed with EventMessage builders; subscriptions use EventsSubscription to wire channel, group, and callbacks.
publishEvent
void publishEvent(EventMessage message) throws KubeMQExceptionPublishes an event to the channel embedded in EventMessage. This is the preferred method name.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
message | EventMessage | Yes | Built via EventMessage.builder() |
Returns: void — events are fire-and-forget; no broker acknowledgement is returned.
Throws: KubeMQException — transport, validation, or auth failures.
Note:
sendEventsMessageis a deprecated alias forpublishEvent(deprecated since 2.2.0,forRemoval=trueat v3.0). PreferpublishEvent.
subscribeToEvents
void subscribeToEvents(EventsSubscription subscription) throws KubeMQExceptionRegisters a consumer on a channel with optional consumer group for competing consumers.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
subscription | EventsSubscription | Yes | Channel, group, delivery callbacks |
Throws: KubeMQException — subscription cannot be established.
Note: Keep callback bodies non-blocking; move heavy processing to worker threads.
EventMessage builder
| Method | Description |
|---|---|
.channel(String) | Target channel |
.body(byte[]) | Binary payload |
.metadata(String) | UTF-8 metadata |
.tags(Map<String,String>) | Key/value tags |
Quick Usage
try (PubSubClient pub = PubSubClient.builder()
.address("localhost:50000")
.clientId("events-demo")
.build()) {
EventMessage msg = EventMessage.builder()
.channel("events.orders")
.body("created".getBytes(StandardCharsets.UTF_8))
.build();
pub.publishEvent(msg);
}See Also
Was this page helpful?