windows搭建rabbitmq+Springboot项目

首先下载Erlang,因为rabbitmq是用Erlang写的
下载: https://www.erlang.org/downloads.
安装就默认的安装就行,安装路径你可以改
下载安装完成添加系统环境变量

ERLANG_HOME
值为erlang的安装地址

然后双击系统变量path,添加

%ERLANG_HOME%\bin

在cmd输入erl,看到版本号就说明erlang安装成功了
接下来下载rabbitmq
下载: https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7.exe.
安装过程还是一样,按照默认的,自己选择安装路径
接下来安装RabbitMQ-Plugins
进入rabbitmq_server-3.7.3\sbin文件夹cmd输入命令

rabbitmq-plugins enable rabbitmq_management

再配置个环境变量

RABBITQM_SERVER
路径为rabbitmq_server-3.7.7的安装路径

然后再path中添加这个

%RABBITQM_SERVER%\sbin

接着你发现开始菜单栏有start和stop,这是启动和停止的文件,双击start启动就行
然后访问

http://localhost:15672

默认用户名和密码都是guest
你可以在sbin文件夹下执行创建一个用户

rabbitmqctl add_user 用户名 密码

再看一下现在的用户

rabbitmqctl list_users

然后给新建的用户赋予权限

rabbitmqctl set_user_tags 用户名 administrator 

这是最高权限。

下面就是springboot项目的搭建了(一个最简单的demo)
首先创建2个项目rabbitmq-sender和rabbitmq-receiver
先创建rabbitmq-sender
在这里插入图片描述
pom.xml需要的依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>true</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- 添加springboot对amqp的支持 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

SenderConf

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @创建人 FengKe
 * @创建时间 2020/8/20 19:36
 * @描述
 */
@Configuration
public class SenderConf {
    @Bean
    public Queue queue() {
        return new Queue("messagequeue");
    }
}

TestSend

import com.feker.rabbitmq.sender.service.HelloSender;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @创建人 FengKe
 * @创建时间 2020/8/20 20:02
 * @描述
 */
@Controller
public class TestSend {

    @Autowired
    private HelloSender helloSender;
    @ResponseBody
    @GetMapping("/testqueue")
    public void testRabbit() {
       helloSender.send();
    }
}

HelloSender

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @创建人 FengKe
 * @创建时间 2020/8/20 19:39
 * @描述
 */
@Component
public class HelloSender {
    @Autowired
    private AmqpTemplate template;

    public void send() {
        template.convertAndSend("messagequeue","hello,rabbit~");
    }
}

application.properties

server.port=8093
spring.application.name=spirng-boot-rabbitmq-sender
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=用户名
spring.rabbitmq.password=密码

接下来是rabbitmq-receiver
在这里插入图片描述
pom.xml和上一个一样
HelloReceive

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * @创建人 FengKe
 * @创建时间 2020/8/20 19:44
 * @描述
 */
@Component
public class HelloReceive {

    @RabbitListener(queues="messagequeue")    //监听器监听指定的Queue
    public void processC(String str) {
        System.out.println("Receive:"+str);
    }

}

application.properties

server.port=8094
spring.application.name=spirng-boot-rabbitmq-receiver
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=用户名
spring.rabbitmq.password=密码

项目搭建已经完成,接下来是在http://localhost:15672网页上了
在这里插入图片描述
在这里添加一项名称为messagequeue的queues就可以了,
然后再去这个页面
在这里插入图片描述
确保你的用户状态和我这一样,如果不一样,就在这可以直接就该一下啊
接下来启动接收者,在启动发送者,
在网页输入

localhost:8093/testqueue

然后看接收者的控制台就能看到接收结果了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值