springboot整合rocketmq

rocketmq的安装
rocketMq官网:http://rocketmq.apache.org/
下载比较简单.rocketmq-3.5.8.zip,和rocketmq-externals-master扩展的,里面有控制台,比较方便也下载下来
我以前下载过,就不过多介绍,解压出来:
这是rocketmq源码,
在这里插入图片描述

这是扩展源码:
在这里插入图片描述

因为是源码都直接运行不了的,需要进行编译,因为是java语言编写的,肯定需要java环境,直接执行install.bat,然后进入target目录.rocket就是一个maven项目.
在这里插入图片描述

targe里面就可以直接执行了

执行文件都在bin里面:
在这里插入图片描述
在这里插入图片描述

分别执行这两个,一般没报错就成功了,
在这里插入图片描述

console的页面控制台基本同理:
在这里插入图片描述

在这里插入图片描述
有个window的批处理文件,直接点击很方便很人性化.然后也是一个springboot项目,看到最后的启动成功就ok了,看得到端口,12581
在这里插入图片描述

刚进去的画面很酷,可以更换语言,简体中文.很方便,都是中文很方便
在这里插入图片描述

启动注意我使用的老版本,新版本好像不用设置了:

先启动mynameserver

在启动mqbroker的时候需要指定autoCreateTopicEnable=true。例如:

nohup sh mqbroker -n 192.168.180.133:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 &

window系统下:
在window系统下需要在cmd中启动mqbroker才行。命令格式如下:
mqbroker.exe -n localhost:9876 autoCreateTopicEnable=true

1 依赖包
org.apache.rocketmq rocketmq-spring-boot-starter 2.0.3
2配置
rocketmq: name-server: 127.0.0.1:9876
producer: group: my-group
rocketmq. producer.send-nd-message-timeout=300000
rocketmq. producer.compess-message-body-threshold=4096
rocketmq.producer.max-message-size=4194304
rocketmq.producer.retry-times-when-send-async-failed=2
sms-uhen-send- async-failed-e
rocketmq.producer.retry-next.server=true
rocketmq.producer.retry-times-when-send-failed=2

编写个生产者
import com.mr.pojo.OrderPaidEvent;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.math.BigDecimal;

/**

  • @ClassName RocketMqTest
  • @Description RocketMqTest
  • @Author stack
  • @Version 1.0
  • @since 2019/6/23 18:32
    */
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class RocketMqTest {

@Resource
private RocketMQTemplate rocketMQTemplate;

@Test
public void testRocketMq1() {

String name = “aaa”;
rocketMQTemplate.convertAndSend(“test-topic-1”, name);
rocketMQTemplate.send(“test-topic-2”, MessageBuilder.withPayload(new OrderPaidEvent(“aa,22”,new BigDecimal(“22”))).build());

System.err.println(“发送成功…”);

}

}

实体类

public class OrderPaidEvent implements Serializable {

private String orderId;

private int paidMoney;

public OrderPaidEvent() {
}

public OrderPaidEvent(String orderId, int paidMoney) {
this.orderId = orderId;
this.paidMoney = paidMoney;
}

public String getOrderId() {
return orderId;
}

public void setOrderId(String orderId) {
this.orderId = orderId;
}

public int getPaidMoney() {
return paidMoney;
}

public void setPaidMoney(int paidMoney) {
this.paidMoney = paidMoney;
}

}

编写个消费者
@Service
@RocketMQMessageListener(topic = “test-topic-2”, consumerGroup = “my-consumer_test-topic-2”)
public class OrderPaidEventConsumer implements RocketMQListener {

@Override
public void onMessage(OrderPaidEvent message) {

System.out.print("------- OrderPaidEventConsumer received:"+ JSON.toJSONString(message));
}

}

Spring Boot是一个用于构建独立的、基于生产的Java应用程序的框架,而RocketMQ是一个开源的分布式消息队列。将Spring Boot整合RocketMQ可以实现在应用程序中使用RocketMQ进行消息的发送和接收。 要在Spring Boot整合RocketMQ,首先需要在pom.xml文件中添加RocketMQ的依赖。可以使用如下代码添加依赖: ```xml <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>${rocketmq.version}</version> </dependency> ``` 其中,`${rocketmq.version}`是RocketMQ的版本号,可以根据实际情况进行设置。接下来,需要在application.yml配置文件中进行相关配置,包括RocketMQ的地址、消费者和生产者的配置等。 在代码中,可以使用`@RocketMQMessageListener`注解来标记RocketMQ的消息监听器,使用`@RocketMQListener`注解来指定监听的消息主题和标签。同时,也可以使用`@Slf4j`注解来引入日志记录器。 然后,可以创建相应的消费者和生产者服务类,分别实现RocketMQ的消费者和生产者接口。消费者服务类需要实现`RocketMQListener`接口,并实现其`onMessage`方法来处理接收到的消息。生产者服务类可以使用RocketMQ的`RocketMQTemplate`类来发送消息。 最后,可以在控制器中调用消费者和生产者的服务类来实现消息的发送和接收。 这样,就完成了Spring BootRocketMQ整合。通过整合,可以方便地在Spring Boot应用程序中使用RocketMQ进行消息的传递和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [RocketMQ整合SpringBoot](https://blog.csdn.net/weixin_47638656/article/details/113849725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值