I have a Spring Boot 2 application which acts only as a message publisher and another Spring Boot 2 application that acts only as a message consumer.
As each message represents a non-critical, event notification, it is not essential to guarantee that the consumer app receives every message from the producer and so I would like to use the following setup:
- producer publishes messages to a non-durable topic
- consumer subscribes to the non-durable topic at start-up and unsubscribes when it closes down
When investigating configuration options I've tried defining the input destination (spring.cloud.stream.bindings.input.destination) both with and without a consumer group with the following results:
with consumer group: Capability Mismatch: Router does not support durable endpoint management.
without consumer group: Capability Mismatch: Router does not support guaranteed subscriber flows.
The exception with both of these options suggests a durable/guaranteed destination binding which is not what I'm after.
My question is whether the non-durable scenario is supported by the Solace binder for Spring Cloud Stream ?
If not supported by the SCS binder, am I able to achieve what I'm after using Solace JMS instead ?