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'.

This commit is contained in:
Hanelore.Ianoseck 2023-10-02 21:38:46 +03:00
parent d3c8fa5440
commit 922c649d4f

View File

@ -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() {