Commit d709c393 d709c3932fa16fd71b3591c9d10785708e506a2e by xianghan

1.优化

1 parent 0e01f9ee
......@@ -9,7 +9,9 @@ import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
......@@ -73,11 +75,13 @@ public class RabbitMqConfig {
return connectionFactory;
}
// @ConditionalOnProperty(prefix = "mutil-mq", name = "service.startup", havingValue = "on")
@Bean(name = "serviceRabbitListenerContainerFactory")
@Primary
public RabbitListenerContainerFactory userCenterRabbitListenerContainerFactory(
SimpleRabbitListenerContainerFactoryConfigurer containerFactoryConfigurer,
@Qualifier("serviceConnectionFactory") ConnectionFactory connectionFactory) {
System.out.println("userCenterRabbitListenerContainerFactory ====>> start ");
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
containerFactoryConfigurer.configure(factory,connectionFactory);
return factory;
......@@ -113,10 +117,12 @@ public class RabbitMqConfig {
return connectionFactory;
}
// @ConditionalOnProperty(prefix = "mutil-mq", name = "management.startup", havingValue = "on")
@Bean(name = "managementRabbitListenerContainerFactory")
public RabbitListenerContainerFactory memberServiceRabbitListenerContainerFactory(
SimpleRabbitListenerContainerFactoryConfigurer containerFactoryConfigurer,
@Qualifier("managementConnectionFactory") ConnectionFactory connectionFactory) {
System.out.println("memberServiceRabbitListenerContainerFactory ====>> start ");
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
containerFactoryConfigurer.configure(factory,connectionFactory);
return factory;
......
package com.topdraw.config;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
/**
* @author :
* @description:
* @function :
* @date :Created in 2022/4/4 17:45
* @version: :
* @modified By:
* @since : modified in 2022/4/4 17:45
*/
public class RabbitmqStartupCondition implements Condition {
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
return false;
}
}
package com.topdraw.mq.consumer;
import com.topdraw.config.RabbitMqConfig;
import com.topdraw.mq.domain.TableOperationMsg;
import com.topdraw.resttemplate.RestTemplateClient;
import com.topdraw.util.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
@Component
@Slf4j
public class UcEngineManagementEventConsumer {
@Autowired
AutoRoute autoUser;
@Autowired
RestTemplateClient restTemplateClient;
/**
* 事件
* @param content
* @description 基础数据同步
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.UC_ROUTE_KEY_DIRECT_EVENT_CCC),
exchange = @Exchange(value = ExchangeTypes.DIRECT))
}, containerFactory = "serviceRabbitListenerContainerFactory")
public void ucEventConsumer(String content) {
log.info(" receive dataSync msg , content is : {} ", content);
TableOperationMsg tableOperationMsg = this.parseContent(content);
autoUser.route(tableOperationMsg);
log.info("ucEventConsumer ====>>>> end");
}
/**
* 数据解析
* @param content
* @return
*/
private TableOperationMsg parseContent(String content) {
TableOperationMsg tableOperationMsg = JSONUtil.parseMsg2Object(content,TableOperationMsg.class);
Assert.notNull(tableOperationMsg,"ERROR -->> operationConsumer -->> parseContent -->> 【dataSyncMsg】 not be null !!");
return tableOperationMsg;
}
}
......@@ -16,7 +16,7 @@ import org.springframework.util.Assert;
@Component
@Slf4j
public class UcEngineEventConsumer {
public class UcEngineServiceIptvEventConsumer {
@Autowired
AutoRoute autoUser;
......@@ -31,7 +31,7 @@ public class UcEngineEventConsumer {
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
/* @RabbitHandler
/*@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.ENGINE_TO_IPTV_CONSUMER_MEMBER_DIRECT),
exchange = @Exchange(value = ExchangeTypes.DIRECT))
......
......@@ -38,7 +38,7 @@ public class UcEventBusConsumer {
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
@RabbitHandler/*
/*@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.UC_EVENTBUS_TOPIC),
exchange = @Exchange(type = ExchangeTypes.TOPIC, name = RabbitMqConfig.UC_EVENTBUS),
......@@ -101,7 +101,6 @@ public class UcEventBusConsumer {
msgData1.setMemberCode(memberCode);
}
msgData1.setEvent(8);
msgData1.setDeviceType(deviceType);
msgData1.setMediaId(mediaId);
......
......@@ -28,11 +28,11 @@ public class UcGatewayEventConsumer {
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
@RabbitHandler
/*@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.UC_ROUTE_KEY_DIRECT_EVENT_AAA),
exchange = @Exchange(value = ExchangeTypes.DIRECT))
}, containerFactory = "managementRabbitListenerContainerFactory")
}, containerFactory = "managementRabbitListenerContainerFactory")*/
public void ucEventConsumer(String content) {
log.info(" receive dataSync msg , content is : {} ", content);
DataSyncMsg dataSyncMsg = this.parseContent(content);
......