mq:移除默认的 spring cloud stream 和 bus,使用原生的 spring-rocketmq、spring-kafka、spring-rabbitmq 替代,降低学习成本,提升使用灵活性。
This commit is contained in:
@@ -1,15 +1,6 @@
|
||||
package cn.iocoder.yudao.framework.mq.config;
|
||||
|
||||
import com.alibaba.cloud.stream.binder.rocketmq.convert.RocketMQMessageConverter;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.messaging.converter.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 消息队列配置类
|
||||
@@ -19,19 +10,4 @@ import java.util.List;
|
||||
@AutoConfiguration
|
||||
public class YudaoMQAutoConfiguration {
|
||||
|
||||
/**
|
||||
* 覆盖 {@link RocketMQMessageConverter} 的配置,去掉 fastjson 的转换器,解决不兼容的问题
|
||||
*/
|
||||
@Bean(RocketMQMessageConverter.DEFAULT_NAME)
|
||||
@ConditionalOnMissingBean(name = { RocketMQMessageConverter.DEFAULT_NAME })
|
||||
public CompositeMessageConverter rocketMQMessageConverter() {
|
||||
List<MessageConverter> messageConverters = new ArrayList<>();
|
||||
ByteArrayMessageConverter byteArrayMessageConverter = new ByteArrayMessageConverter();
|
||||
byteArrayMessageConverter.setContentTypeResolver(null);
|
||||
messageConverters.add(byteArrayMessageConverter);
|
||||
messageConverters.add(new StringMessageConverter());
|
||||
messageConverters.add(new MappingJackson2MessageConverter());
|
||||
return new CompositeMessageConverter(messageConverters);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package cn.iocoder.yudao.framework.mq.core.bus;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.bus.ServiceMatcher;
|
||||
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
|
||||
import org.springframework.context.ApplicationEventPublisher;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 基于 Spring Cloud Bus 实现的 Producer 抽象类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public abstract class AbstractBusProducer {
|
||||
|
||||
@Resource
|
||||
protected ApplicationEventPublisher applicationEventPublisher;
|
||||
|
||||
@Resource
|
||||
protected ServiceMatcher serviceMatcher;
|
||||
|
||||
@Value("${spring.application.name}")
|
||||
protected String applicationName;
|
||||
|
||||
protected void publishEvent(RemoteApplicationEvent event) {
|
||||
applicationEventPublisher.publishEvent(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 只广播给自己服务的实例
|
||||
*/
|
||||
protected String selfDestinationService() {
|
||||
return applicationName + ":**";
|
||||
}
|
||||
|
||||
protected String getBusId() {
|
||||
return serviceMatcher.getBusId();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user