package cn.lihu.jh.framework.tenant.core.mq.rabbitmq; 
 | 
  
 | 
import org.springframework.amqp.rabbit.core.RabbitTemplate; 
 | 
import org.springframework.beans.BeansException; 
 | 
import org.springframework.beans.factory.config.BeanPostProcessor; 
 | 
  
 | 
/** 
 | 
 * 多租户的 RabbitMQ 初始化器 
 | 
 * 
 | 
 * @author 芋道源码 
 | 
 */ 
 | 
public class TenantRabbitMQInitializer implements BeanPostProcessor { 
 | 
  
 | 
    @Override 
 | 
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { 
 | 
        if (bean instanceof RabbitTemplate) { 
 | 
            RabbitTemplate rabbitTemplate = (RabbitTemplate) bean; 
 | 
            rabbitTemplate.addBeforePublishPostProcessors(new TenantRabbitMQMessagePostProcessor()); 
 | 
        } 
 | 
        return bean; 
 | 
    } 
 | 
  
 | 
} 
 |