Configuration of SQS outgoing channel without queue name
Hi, I am using SqsOutboundMetadata.builder().queueUrl(sqsQueueUrl) to define the target queue based on the data at runtime.
Therefor I do not want to set a queue name in the outgoing channel configuration.
Because the queue name defaults to the channel name, I receive error SRMSG19400: Failed to retrieve AWS Sqs queue url (this queue does not exist).
However, there is a workaround by defining a "fake" url:
mp:
messaging:
outgoing:
my-channel:
connector: smallrye-rabbitmq
queue:
url: dummy/url
I am not quite sure how this would ideally look like, because the default behaviour seems sensible.
- maybe the lookup from queue name to queue url could be deferred until the first message is sent or
- add a config property to explicitly set the queue name and queue url to null?
Hi, indeed, this use case wasn't taken into account.
I think we'd need two things: 1/ for outgoing channels, if the queue URL weren't found, it should log that at startup but don't fail. 2/ for outgoing channels, if the provided queue URL were a special value (an empty string perhaps) we would skip the queue URL validation.
For incoming channels nothing should change.
How does it sound?
Seems reasonable!
if the queue URL weren't found, it should log that at startup but don't fail.
It already works though with an invalid url as I put into the initial description. But I do not remember if sth. fatal was logged or what the health checks reported on initial validation