Finally, I decided to use Configuration class with ConnectionFactoryCustomizer bean depending on spring.rabbitmq.ssl.enabled
property:
@Configuration
class RabbitConfig {
@Bean
@ConditionalOnProperty(name = ["spring.rabbitmq.ssl.enabled"], havingValue = "true", matchIfMissing = false)
fun connectionFactoryCustomizer(): ConnectionFactoryCustomizer {
return ConnectionFactoryCustomizer {
it.saslConfig = DefaultSaslConfig.EXTERNAL
}
}
}