Windows安装RocketMq的详细教程和springboot中的应用
来源:http://www.tudoupe.com时间:2022-07-31
指出向Java安装的路径不应该空,如果空,重新配置,否则下一个步骤将被报告为错误。
1:下载RocketMq安装包
下载后,打开指定目录,下载了图片的4.9.3版本
2:配置环境变量(例如图)
3:配置完以后启动
输入文件夹,然后双击 mqnamesrv. 如图所示,成功启动cmd
开办经纪人
使用cmd输入文件夹,然后执行
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
如果成功,则必须在之后出现:9876。 如果不成功,则在之后使用它将是错误的
5:RocketMq-console可视化工具
下载压缩包 rocketmq-externals-master,然后将其压缩到图中所示的指定目录
然后修改配置文件, 进入下图中的目录, 然后修改.
6:启动可视化工具
在 cmd 进入 rocketmq-console 目录后执行编译命令mvn cleanpackage-Dmaven.test.skip=true初始执行可能需要1到3分钟,
如果报错
mvn clean package -Dmaven.test.skip=true 报错:[ERROR] Unknown lifecycle phase “.test.skip=true“.
https://blog.csdn.net/weixin_45525272/article/details/124002172
执行完成以后
如图所示,将有一个目标文件在rocketmq-console目录下
cmd输入此目录,然后执行命令 java -jar rocketmq-console-ng-1.0.1.下图将显示
如果发生这种情况,它表示启动成功,然后localhost:88浏览器访问以下图
首先启动 mqnamesrv,按以下顺序:cmd,然后重新启动 mqbroker,然后重新启动可视化工具,
下面我会告诉你重新启动的应用程序
1:打开想法,然后创建一个新的弹簧启动项目
创建新项目 - 选择sdk,然后创建您下一步要存储的名称和目录,然后按“完成”,如下面所示
然后添加新的模块并创建一个过程创建上面的项目,并创建它如下面所示
修改 thepom.xml文件如下
然后修改模块.xml内部的 pom, 像图所示, 也包含了所需的包代码.
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
</project>
然后我们创建包,然后创建类,在此我们首先创建一个制造商的听类 procuderConfig,如图所示
/**
@author
@version 1.0.0
@Description TODO
@ClassName MqConfig.java
@createTime 2022年05月19日 14:14:00
*/
@Configuration
public class ProcuderConfig {
@Value(“${rocketmq.groupName}”)
private String groupName;@Value(“${rocketmq.namesrvAddr}”)
private String namesrvAddr;@Bean
public DefaultMQProducer createDefaultMQProducer() {
DefaultMQProducer producer = new DefaultMQProducer(this.groupName);
producer.setNamesrvAddr(this.namesrvAddr);
try {
producer.start();
System.out.I am a good man +String."Producer is Started". groupName:[%s],namesrvAddr:[%s]", groupName, namesrvAddr));
} catch (MQClientException e) {
System.out.println(String.format(“producer is error {}”, e.getMessage(), e));
}
return producer;
}
}
然后我们创建了图中所示的控制类,然后将代码添加到图中
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.common.message.Message;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.nio.charset.StandardCharsets;
/**
@author
@version 1.0.0
@Description TODO
@ClassName ProcuderController.java
@createTime 2022年05月19日 14:49:00
/
@RestController
public class ProcuderController {
/*- 不能发一次消息,换一次 group ,因此 DefaultMQProducer 需要注入 ,主要作用是说明 procuder 的身份
*/
@Autowired
private DefaultMQProducer defaultMQProducer;
@Value(“${rocketmq.topic}”)
private String topic;@GetMapping(“/send-message”)
public String sendMessage() {}
- 不能发一次消息,换一次 group ,因此 DefaultMQProducer 需要注入 ,主要作用是说明 procuder 的身份
}
以上是生产者的创造,下面是消费者阶级的创造
2:创建一个消费者的监听ConsumerConfig类如下图,代码也贴上了
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.List;
/**
@author
@version 1.0.0
@Description TODO
@ClassName ConsumerConfig.java
@createTime 2022年05月19日 14:48:00
*/
@Configuration
public class ConsumerConfig {
}
然后我们又创建了弹簧启动类,像图形一样,并附上代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Import;
/**
- @author
- @version 1.0.0
- @Description TODO
- @ClassName MqApplication.java
- @createTime 2022年05月19日 14:06:00
*/
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
@EnableDiscoveryClient
@EnableFeignClients
public class MqApplication {
public static void main(String[] args) {
SpringApplication.run(MqApplication.class, args);
}
//启动类然后声明负荷平衡请求器@LoadBalanced,请求启动工具 RestTemplate
}
然后创建一个配置文件,然后我将按下面所示的内容粘贴
rocketmq 的 nameServer
rocketmq:
namesrvAddr: 127.0.0.1:9876
topic: TopicTest
在DefaultMQProducer中使用服务名创建一个组
groupName: ${spring.application.name}
然后你可以启动该项目并成功地启动它,如下面所示
然后再浏览器访问
http://localhost:8081/send-message
如上图所示,控制面板将用户收到的讯息打印出来,如上图所示
然后我们看看 mq的可视化工具界面,看看我们得到什么,比如图
我是这样,我不明白这个信息,我分享它的知识,我也是素食者
我这里
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|