RED-5223: Added RabbitTemplateMultiCustomizer

This commit is contained in:
Dominique Eifländer 2023-12-13 13:15:01 +01:00
parent a559683c04
commit 43a78f5378
2 changed files with 22 additions and 1 deletions

View File

@ -37,6 +37,14 @@ public class MultiTenancyMessagingConfiguration {
return container -> customizers.orderedStream().forEach((customizer) -> customizer.customize(container));
}
@Bean
@Primary
public RabbitTemplateCustomizer rabbitTemplateMultiCustomizer(
ObjectProvider<RabbitTemplateMultiCustomizer> customizers) {
return rabbitTemplate -> customizers.orderedStream().forEach((customizer) -> customizer.customize(rabbitTemplate));
}
@Bean
public MessageConverter producerJackson2MessageConverter() {
ObjectMapper mapper = new ObjectMapper().findAndRegisterModules();
@ -46,7 +54,7 @@ public class MultiTenancyMessagingConfiguration {
}
@Bean
public RabbitTemplateCustomizer rabbitTemplatePublishTenantIdHeaderCustomizer(
public RabbitTemplateMultiCustomizer rabbitTemplatePublishTenantIdHeaderCustomizer(
@Qualifier("tenantIdSetterPostProcessor") MessagePostProcessor messagePostProcessor) {
return template -> template.addBeforePublishPostProcessors(messagePostProcessor);
}

View File

@ -0,0 +1,13 @@
package com.knecon.fforesight.tenantcommons;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@FunctionalInterface
public interface RabbitTemplateMultiCustomizer {
void customize(RabbitTemplate rabbitTemplate);
}