diff --git a/src/main/kotlin/org/rooftop/netx/engine/AbstractTransactionDispatcher.kt b/src/main/kotlin/org/rooftop/netx/engine/AbstractTransactionDispatcher.kt index 9d5f240..4a2fc0e 100644 --- a/src/main/kotlin/org/rooftop/netx/engine/AbstractTransactionDispatcher.kt +++ b/src/main/kotlin/org/rooftop/netx/engine/AbstractTransactionDispatcher.kt @@ -17,6 +17,7 @@ abstract class AbstractTransactionDispatcher { fun dispatch(transaction: Transaction, messageId: String): Flux { return Mono.just(transaction.state) + .doOnNext { deleteElastic(transaction, messageId) } .filter { state -> transactionHandlerFunctions.containsKey(state) } .flatMapMany { state -> Flux.fromIterable( @@ -26,7 +27,6 @@ abstract class AbstractTransactionDispatcher { } .flatMap { (function, instance) -> mapToTransactionEvent(transaction) - .doOnNext { beforeInvokeHook(transaction, messageId) } .flatMap { function.call(instance, it) } } .doOnComplete { @@ -84,7 +84,7 @@ abstract class AbstractTransactionDispatcher { messageId: String ): Mono> - protected abstract fun beforeInvokeHook( + protected abstract fun deleteElastic( transaction: Transaction, messageId: String ) diff --git a/src/main/kotlin/org/rooftop/netx/redis/RedisStreamTransactionDispatcher.kt b/src/main/kotlin/org/rooftop/netx/redis/RedisStreamTransactionDispatcher.kt index 7ecbce1..69a5948 100644 --- a/src/main/kotlin/org/rooftop/netx/redis/RedisStreamTransactionDispatcher.kt +++ b/src/main/kotlin/org/rooftop/netx/redis/RedisStreamTransactionDispatcher.kt @@ -89,7 +89,7 @@ class RedisStreamTransactionDispatcher( ) } - override fun beforeInvokeHook( + override fun deleteElastic( transaction: Transaction, messageId: String ) = redisStreamTransactionRemover.deleteElastic(transaction) diff --git a/src/test/kotlin/org/rooftop/netx/redis/NoAckRedisStreamTransactionDispatcher.kt b/src/test/kotlin/org/rooftop/netx/redis/NoAckRedisStreamTransactionDispatcher.kt index a5b504d..e760edb 100644 --- a/src/test/kotlin/org/rooftop/netx/redis/NoAckRedisStreamTransactionDispatcher.kt +++ b/src/test/kotlin/org/rooftop/netx/redis/NoAckRedisStreamTransactionDispatcher.kt @@ -77,7 +77,7 @@ class NoAckRedisStreamTransactionDispatcher( override fun ack(transaction: Transaction, messageId: String): Mono> = Mono.just(transaction to messageId) - override fun beforeInvokeHook( + override fun deleteElastic( transaction: Transaction, messageId: String ) {