You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ConnectionFactory created by Spring Boot can be customized in several ways, ConnectionFactoryCustomizers, ConnectionNameStrategy to name a few. Also there is at least one post processor RabbitConnectionFactoryMetricsPostProcessor enabling metrics.
Code creating connection factories inside of LocalizedQueueConnectionFactory uses minimal configuration effectively ignoring all the customizations.
This issue might be considered to span across Spring Amqp, Spring Boot and Spring Cloud Stream projects.
I believe it can be solved with introduction of ConnectionFactoryBuilder bean (something similar to RestTemplateBuilder) which will produce connection factories customized in similar fashion, so LocalizedQueueConnectionFactory will be able to reuse it.
Or maybe there might be another approach I don't see.
The text was updated successfully, but these errors were encountered:
LocalizedQueueConnectionFactory.createConnectionFactory() is protected for this reason; you can subclass, override that method, call it, and further modify the factory.
Is there something else that a builder would provide?
Builder can provide the single source of truth for factory configuration. I do can extend LocalizedQueueConnectionFactory, but for me personally there are several difficulties:
I'll need to figure out what configurations were applied to default factory and I definitely will miss something cause there are several ways to configure that factory.
If factory is post-processed (e.g. wrapped), then making a copy might be close to impossible without hardcoding an exact variant and this approach is not supportable.
What implemented in Spring Cloud Stream doesn't work actually, I can file an issue to Spring Cloud Stream Rabbit Binder for example (I linked one minor issue already), but I feel that solution should be more comprehensive.
Affects Version(s): 2.3.11
ConnectionFactory
created by Spring Boot can be customized in several ways,ConnectionFactoryCustomizer
s,ConnectionNameStrategy
to name a few. Also there is at least one post processorRabbitConnectionFactoryMetricsPostProcessor
enabling metrics.Code creating connection factories inside of
LocalizedQueueConnectionFactory
uses minimal configuration effectively ignoring all the customizations.This issue might be considered to span across Spring Amqp, Spring Boot and Spring Cloud Stream projects.
I believe it can be solved with introduction of
ConnectionFactoryBuilder
bean (something similar toRestTemplateBuilder
) which will produce connection factories customized in similar fashion, soLocalizedQueueConnectionFactory
will be able to reuse it.Or maybe there might be another approach I don't see.
The text was updated successfully, but these errors were encountered: