RED-4512: Fixed wrong bean for setAfterReceivePostProcessors message interception

This commit is contained in:
deiflaender 2022-09-06 11:03:59 +02:00
parent 5df851ed06
commit a24ba6d601

View File

@ -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;
}