DuplicateRequestIdException

class DuplicateRequestIdException(val aggregateId: AggregateId, val requestId: String, errorMsg: String = "Duplicate request ID[", cause: Throwable? = null) : WowException, NamedAggregate

Exception thrown when a duplicate request ID is detected.

This exception occurs when attempting to process a command with a request ID that has already been processed for the same aggregate, preventing duplicate command execution.

Parameters

aggregateId

the aggregate for which the duplicate was detected

requestId

the duplicate request identifier

errorMsg

custom error message (default provided)

cause

the underlying cause (optional)

See also

Constructors

Link copied to clipboard
constructor(aggregateId: AggregateId, requestId: String, errorMsg: String = "Duplicate request ID[", cause: Throwable? = null)

Properties

Link copied to clipboard
Link copied to clipboard
open override val aggregateName: String
Link copied to clipboard
open override val bindingErrors: List<BindingError>

optional list of field-level validation errors

Link copied to clipboard
open val cause: Throwable?
Link copied to clipboard
open override val contextName: String
Link copied to clipboard
override val errorCode: String

the standardized error code for this exception

Link copied to clipboard
open override val errorMsg: String

the error message

Link copied to clipboard
Link copied to clipboard
open override val message: String
Link copied to clipboard

Determines the recoverable type of this Throwable.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val succeeded: Boolean
Link copied to clipboard

Functions

Link copied to clipboard
fun NamedAggregate.aggregateId(id: String = generateId(), tenantId: String = TenantId.DEFAULT_TENANT_ID): DefaultAggregateId

Creates an AggregateId for this NamedAggregate with the specified parameters.

Link copied to clipboard

Finds the aggregate type class associated with this named aggregate.

Link copied to clipboard

Converts this NamedAggregate to its corresponding AggregateMetadata.

Link copied to clipboard

Generates a unique ID string for this NamedAggregate.

Link copied to clipboard
fun NamedBoundedContext.getContextAlias(boundedContext: BoundedContext? = MetadataSearcher.metadata.contexts[contextName]): String
Link copied to clipboard

Gets the context alias prefix for this bounded context.

Link copied to clipboard

Checks if the named aggregate is available locally at runtime.

Link copied to clipboard
open override fun isSameAggregateName(other: NamedAggregate): Boolean
Link copied to clipboard
Link copied to clipboard

Finds the aggregate type class associated with this named aggregate, throwing an exception if not found.

Link copied to clipboard

Converts this Throwable to standardized ErrorInfo.

Link copied to clipboard

Extension function to convert a NamedAggregate to an EventNamedAggregate.

Link copied to clipboard

Converts this NamedAggregate to its string representation.

Link copied to clipboard
fun Throwable.toResult(waitCommandId: String, commandMessage: CommandMessage<*>, function: FunctionInfoData = COMMAND_GATEWAY_FUNCTION, id: String = generateGlobalId(), stage: CommandStage = CommandStage.SENT, result: Map<String, Any> = emptyMap(), signalTime: Long = System.currentTimeMillis()): CommandResult

Converts a Throwable to a CommandResult representing a command failure.

Link copied to clipboard

Converts this NamedAggregate to a string representation using the context alias.