Q:

Spring Cloud Stream Delayed Exchange Creation Through configuration

I have an use case where messages has to be reprocessed with certain delay and also want to introduce exponential backoff between retries, the ReRouteDlqApplication mentioned over the documentation exactly suits my purpose.
https://cloud.spring.io/spring-cloud-static/Finchley.SR1/multi/multi__rabbitmq_binder.html
The only extra info which I need is, is it possible to configure delayedExchange as well through application.properties and binding the same with the Original queues instead of doing the same via Beans, so that there isn't need to duplicate logic across multiple error handlers(i.e one error handler per one DLQ)
Plz let me know in-case any extra info is needed.
Edit:
As per the comments received, I have deleted all the exchanges and queues and then tried afresh locally, but still am running into the below error
Error:  "received ''x-delayed-message'' but current is 'topic' "
My Properties File:
spring.cloud.stream.bindings.packagingConsumerChannel.destination=fabric-exchange
spring.cloud.stream.bindings.packagingConsumerChannel.group=package-queue
spring.cloud.stream.bindings.packagingConsumerChannel.consumer.max-attempts=1
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.durableSubscription=true
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.bindingRoutingKey=package
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.autoBindDlq=true
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.dlqDeadLetterExchange=
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.delayedExchange=true

A:

Set the consumer binding property delayedExchange to true.
The commit was added in version 1.2.
EDIT
@SpringBootApplication
@EnableBinding(Sink.class)
public class So54986375Application {

    public static void main(String[] args) {
        SpringApplication.run(So54986375Application.class, args);
    }

    @StreamListener(Sink.INPUT)
    public void listen(String in) {

    }

}

and
spring.cloud.stream.rabbit.bindings.input.consumer.delayedExchange=true

and

