From a24ba6d60196f1226a49352293d8448270696258 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Tue, 6 Sep 2022 11:03:59 +0200 Subject: [PATCH] RED-4512: Fixed wrong bean for setAfterReceivePostProcessors message interception --- .../MultiTenancyMessagingConfiguration.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java index 368d9d711..71611be3c 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java @@ -3,6 +3,7 @@ package com.iqser.red.service.peristence.v1.server.multitenancy; import static com.iqser.red.service.peristence.v1.server.multitenancy.TenantInterceptor.DEFAULT_TENANT; import static com.iqser.red.service.peristence.v1.server.multitenancy.TenantInterceptor.TENANT_HEADER_NAME; +import org.springframework.amqp.rabbit.config.AbstractRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -24,14 +25,14 @@ public class MultiTenancyMessagingConfiguration { if (bean instanceof RabbitTemplate) { - RabbitTemplate rabbitTemplate = (RabbitTemplate) bean; - - rabbitTemplate.setBeforePublishPostProcessors(m -> { + ((RabbitTemplate) bean).setBeforePublishPostProcessors(m -> { m.getMessageProperties().setHeader(TENANT_HEADER_NAME, TenantContext.getTenantId()); return m; }); - rabbitTemplate.addAfterReceivePostProcessors(m -> { + } else if (bean instanceof AbstractRabbitListenerContainerFactory) { + + ((AbstractRabbitListenerContainerFactory) bean).setAfterReceivePostProcessors(m -> { String tenant = m.getMessageProperties().getHeader(TENANT_HEADER_NAME); if (tenant != null) { @@ -42,7 +43,6 @@ public class MultiTenancyMessagingConfiguration { } return m; }); - } return bean; }