I am using spring cloud stream function with kafka bindings to process my messages. I have also configured my DLQ like this
spring:
application:
name: app
cloud:
stream:
default:
group: abs
function.definition: abc|def|ghi
kafka:
binder:
bindings:
abcdefghi-in-0:
consumer:
enable-dlq: true
dlq-name: a.b.c.deadletter
dlq-producer-properties:
configuration:
schema.registry.url: ${kafka.schema.registry.url}
key.serializer: org.apache.kafka.common.serialization.ByteArraySerializer
value.serializer: io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer
bindings:
abcdefghi-in-0:
destination: a.b.c.in
content-type: application/x-protobuf
And I have 3 java.util.functions to process the message one after the other as per the configuration.
I am trying to put the messages in the DLQ-a.b.c.deadletter back to input such a way that this message will be again processed by my 3 functions again. How can I do this upon a rest call?
I was looking at this, but I don't want to use @StreamListener(Processor.INPUT) as it is deprecated and also I wanted it to be triggered from a rest call.