# Dubbo-Shop **Repository Path**: cofa/Dubbo-Shop ## Basic Information - **Project Name**: Dubbo-Shop - **Description**: RocketMQ Zookeeper SpringBoot MyBatis - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-03-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dubbo-Shop RocketMQ Zookeeper SpringBoot MyBatis # Dubbo ## Dubbo依赖 ``` com.alibaba.boot dubbo-spring-boot-starter 0.2.0 org.apache.zookeeper zookeeper 3.4.10 log4j log4j org.slf4j slf4j-log4j12 ``` ## Dubbo配置文件 ``` #Dubbo 配置 spring.application.name=dubbo-user-provider dubbo.application.id=dubbo-user-provider dubbo.application.name=dubbo-user-provider dubbo.registry.address=zookeeper://xxx.xxx.xxx.xxx:2181;zookeeper://xxx.xxx.xxx.xxx:2182; #注册中心地址 dubbo.server=true dubbo.protocol.name=dubbo dubbo.protocol.port=20883 #多个服务需要使用多个端口 不可重复 dubbo.provider.timeout=120000 #发送消息超时时间 ``` ## Dubbo 使用 ### 主方法 ``` import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDubbo //开启Dubbo public class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class,args); } } ``` ### 接口类 ``` public interface IUserService { } ``` ### 实现类 ``` import org.springframework.stereotype.Component; import com.alibaba.dubbo.config.annotation.Service; import com.alibaba.dubbo.config.annotation.Reference; @Component //注入Spring容器 @Service(interfaceClass = IUserService.class) //注册到Dubbo注册中心 public class UserServiceImpl implements IUserService{ @Reference //引用Dubbo服务 private XXXService xxxService; } ``` # RocketMQ ## RocketMQ依赖 ``` 1.8 org.apache.rocketmq rocketmq-spring-boot-starter ${rocketmq-spring-boot-starter-version} ``` ## RocketMQ配置 ``` # RocketMQ rocketmq.name-server=xxx.xxx.xxx.xxx:9876 rocketmq.producer.group=rocketMQProducerGroup ``` ## RocketMQ发送消息 ``` @Autowired private RocketMQTemplate rocketMQTemplate; Message message = new Message(topic,tag,key,body.getBytes()); SendResult result = rocketMQTemplate.getProducer().send(message); ``` ## RocketMQ监听消息 ``` @Slf4j @Component @RocketMQMessageListener(topic = "topic", consumerGroup = "topic", messageModel = MessageModel.BROADCASTING) public class RocketMQListener implements RocketMQListener { @Override public void onMessage(MessageExt messageExt) { //处理消息 } } ```