fixing(infra-messaging)
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
||||
package at.mocode.infrastructure.messaging.client
|
||||
|
||||
/**
|
||||
* Domain-specific error types for messaging operations.
|
||||
* Follows the DDD guidelines for explicit error handling using the Result pattern.
|
||||
*/
|
||||
sealed class MessagingError(
|
||||
val code: String,
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : Exception(message, cause) {
|
||||
|
||||
/**
|
||||
* Error when event publishing fails due to serialization issues.
|
||||
*/
|
||||
data class SerializationError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_SERIALIZATION_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Error when event publishing fails due to connection issues.
|
||||
*/
|
||||
data class ConnectionError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_CONNECTION_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Error when event publishing fails due to timeout.
|
||||
*/
|
||||
data class TimeoutError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_TIMEOUT_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Error when event publishing fails due to authentication/authorization issues.
|
||||
*/
|
||||
data class AuthenticationError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_AUTHENTICATION_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Error when event publishing fails due to topic configuration issues.
|
||||
*/
|
||||
data class TopicConfigurationError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_TOPIC_CONFIGURATION_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Error when event consumption fails due to deserialization issues.
|
||||
*/
|
||||
data class DeserializationError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_DESERIALIZATION_ERROR", message, cause)
|
||||
|
||||
/**
|
||||
* Generic messaging error for unexpected failures.
|
||||
*/
|
||||
data class UnexpectedError(
|
||||
override val message: String,
|
||||
override val cause: Throwable? = null
|
||||
) : MessagingError("MESSAGING_UNEXPECTED_ERROR", message, cause)
|
||||
}
|
||||
Reference in New Issue
Block a user