From 922c649d4f08b4a80741e6491f4475163fa276b4 Mon Sep 17 00:00:00 2001 From: "Hanelore.Ianoseck" Date: Mon, 2 Oct 2023 21:38:46 +0300 Subject: [PATCH] There's no need for a custom-configured RabbitTemplate since spring-boot-autoconfigure automatically collects and uses the MessageConverter via its RabbitTemplateConfigurer bean. Removing the manual RabbitTemplate bean also helps with eventual observability since it allows finer/global control over 'setObservationEnabled'. --- .../MultiTenancyMessagingConfiguration.java | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/knecon/fforesight/tenantcommons/MultiTenancyMessagingConfiguration.java b/src/main/java/com/knecon/fforesight/tenantcommons/MultiTenancyMessagingConfiguration.java index 939f02c..61a0338 100644 --- a/src/main/java/com/knecon/fforesight/tenantcommons/MultiTenancyMessagingConfiguration.java +++ b/src/main/java/com/knecon/fforesight/tenantcommons/MultiTenancyMessagingConfiguration.java @@ -1,35 +1,22 @@ package com.knecon.fforesight.tenantcommons; -import static com.knecon.fforesight.tenantcommons.ForwardTenantInterceptor.TENANT_HEADER_NAME; - +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.amqp.rabbit.config.AbstractRabbitListenerContainerFactory; -import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; +import static com.knecon.fforesight.tenantcommons.ForwardTenantInterceptor.TENANT_HEADER_NAME; @Configuration @ConditionalOnClass(RabbitTemplate.class) public class MultiTenancyMessagingConfiguration { - @Bean - @ConditionalOnBean(ConnectionFactory.class) - public RabbitTemplate rabbitTemplate(final ConnectionFactory connectionFactory) { - - final var rabbitTemplate = new RabbitTemplate(connectionFactory); - rabbitTemplate.setMessageConverter(producerJackson2MessageConverter()); - return rabbitTemplate; - } - - @Bean public Jackson2JsonMessageConverter producerJackson2MessageConverter() {