Interface MessagingRuntime
Internal synchronous runtime contract used by generated messaging emitters.
Every emission enters the runtime as a MessageBatch. A successful emission returns only after all required
outputs complete. Outputs are invoked sequentially and the first failure is propagated to the caller. Already
completed outputs are not rolled back, so a retry can duplicate delivery.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDeclarative messaging graph run level, aligned with Helidon declarativeRunLevels.MESSAGING. -
Method Summary
-
Field Details
-
RUN_LEVEL
static final double RUN_LEVELDeclarative messaging graph run level, aligned with Helidon declarativeRunLevels.MESSAGING.- See Also:
-
-
Method Details
-
emit
Emit a message to a named channel.A successful return means all required outputs completed. Handler and connector failures are propagated to the caller with their causes preserved.
- Type Parameters:
T- payload type- Parameters:
channel- channel namemessage- message- Throws:
NullPointerException- ifchannelormessageisnullMessagingException- if the named channel does not existRuntimeException- if a handler or outgoing connector fails
-
emitBatch
Emit a batch of messages to a named channel.A successful return means all required outputs completed. Handler and connector failures are propagated to the caller with their causes preserved. Completed outputs are not rolled back if a later output fails.
- Type Parameters:
T- payload type- Parameters:
channel- channel namebatch- immutable message batch- Throws:
NullPointerException- ifchannelorbatchisnullMessagingException- if the named channel does not existBatchDeliveryException- if delivery completes partially or its outcome is indeterminate
-