DelayedMessagingService

open class DelayedMessagingService(val host: String, val user: String, val password: String, val exchange: IMessagingExchange, val queue: IMessagingQueue, val keys: List<IMessagingKey>, val handleMessagingUseCaseFactory: () -> IHandleMessagingUseCase, val coroutineScope: CoroutineScope, val json: Json? = null, val autoConnect: Boolean = true, val autoListen: Boolean = true, val persistent: Boolean = false, val quorum: Boolean = false, val dead: Boolean = false, val maxXDeathCount: Int = 1, val connectionName: String = queue.queue) : MessagingService

Constructors

Link copied to clipboard
constructor(host: String, user: String, password: String, exchange: IMessagingExchange, queue: IMessagingQueue, keys: List<IMessagingKey>, handleMessagingUseCaseFactory: () -> IHandleMessagingUseCase, coroutineScope: CoroutineScope, json: Json? = null, autoConnect: Boolean = true, autoListen: Boolean = true, persistent: Boolean = false, quorum: Boolean = false, dead: Boolean = false, maxXDeathCount: Int = 1, connectionName: String = queue.queue)

Properties

Link copied to clipboard
open val autoConnect: Boolean = true
Link copied to clipboard
open val autoListen: Boolean = true
Link copied to clipboard
open override var channel: AMQPChannel?
Link copied to clipboard
open override var connection: AMQPConnection?
Link copied to clipboard
Link copied to clipboard
open val coroutineScope: CoroutineScope
Link copied to clipboard
open val dead: Boolean = false
Link copied to clipboard
Link copied to clipboard
open val host: String
Link copied to clipboard
open val json: Json? = null
Link copied to clipboard
Link copied to clipboard
open val maxXDeathCount: Int = 1
Link copied to clipboard
open val password: String
Link copied to clipboard
open val persistent: Boolean = false
Link copied to clipboard
Link copied to clipboard
open val quorum: Boolean = false
Link copied to clipboard
open val user: String

Functions

Link copied to clipboard
open suspend override fun connect()
Link copied to clipboard
open suspend override fun exchangeDeclare(exchange: IMessagingExchange, type: String, arguments: Map<String, Field>)
Link copied to clipboard
open suspend fun handleException(delivery: AMQPResponse.Channel.Message.Delivery, exception: Exception)
Link copied to clipboard
open suspend fun handleFailedMessage(delivery: AMQPResponse.Channel.Message.Delivery, exception: Exception)
Link copied to clipboard
open suspend override fun listen()
Link copied to clipboard
inline suspend fun <T> publish(routingKey: IMessagingKey, value: T, publishAt: Instant?, exchange: IMessagingExchange? = null, persistent: Boolean = false, attempts: Int = 3, delay: Long = 5000)
inline suspend fun <T> publish(routingKey: IMessagingKey, value: T, exchange: IMessagingExchange? = null, persistent: Boolean = false, attempts: Int = 3, delay: Long = 5000)
Link copied to clipboard
open suspend override fun queueBind(queue: IMessagingQueue, exchange: IMessagingExchange, routingKey: IMessagingKey, arguments: Map<String, Field>)
Link copied to clipboard
open suspend override fun queueDeclare(queue: IMessagingQueue, exchange: IMessagingExchange?, durable: Boolean, exclusive: Boolean, autoDelete: Boolean, arguments: Map<String, Field>)
Link copied to clipboard
Link copied to clipboard
open suspend override fun setup()
Link copied to clipboard
open suspend fun tryWithAttempts(attempts: Int = 3, delay: Long = 5000, block: suspend () -> Unit)