10.27.03

IFlowSettle Method

Settles a message in a requested way. See Also Ack(Int64).

Settle has 3 message outcome options:

  • Accepted - The message was succesfully processed (the same as Ack(Int64)).
  • Failed - The message will be redelivered.
  • Rejected - The message is removed from the queue and moved to the DMQ if configured.

The exact behavior of Settle() is controlled by flow property MessageAckMode:

  • AutoAck - Messages are acknowledged automatically by the API and calling this function has no effect.
  • ClientAck - Every message received must be acknowledged by the application through individual calls to Settle().

Settle requires RequiredOutcomeFailed and/or RequiredOutcomeRejected to be enabled to allow "Failed" and/or "Rejected" outcomes, respectively.

Definition

Namespace: SolaceSystems.Solclient.Messaging
Assembly: SolaceSystems.Solclient.Messaging (in SolaceSystems.Solclient.Messaging.dll) Version: 10.27.0
C#
ReturnCode Settle(
	long ADMessageId,
	MessageOutcome outcome
)

Parameters

ADMessageId  Int64
ADMessageId of the message to settle.
outcome  MessageOutcome
type of the settlement outcome.

Return Value

ReturnCode
When successful, it returns SOLCLIENT_OK.

Exceptions

OperationErrorException Thrown when the start operation fails.
ObjectDisposedException Thrown when the flow is already disposed (terminal state).
FatalErrorException Thrown when an unrecoverable error occurs.

See Also