rabbitmq学习——安装测试

环境 win7、spring4

一、win7下安装mq的测试服务环境
下载地址:http://www.erlang.org/download/otp_win32_R16B03.exe;
http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.3/rabbitmq-server-3.2.3.exe

开启mq管理工具:

cmd : "C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

要重启服务才能生效,可以执行

cmd : net stop RabbitMQ && net start RabbitMQ

创建用户:

rabbitmqctl.bat add_user nihoutao nihoutao@2017

add_user 后是账号  后是密码

给角色和权限:

rabbitmqctl.bat set_user_tags nihoutao administrator

rabbitmqctl.bat set_permissions -p / nihoutao ".*" ".*" ".*"

查看用户:

 

此时用创建的账号登录mq管理系统

 

二、在项目中配置环境

pom.xml

<dependencies>

             <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->

             <dependency>

                    <groupId>com.rabbitmq</groupId>

                    <artifactId>amqp-client</artifactId>

                    <version>5.0.0</version>

             </dependency>

             <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->

             <dependency>

                    <groupId>com.google.code.gson</groupId>

                    <artifactId>gson</artifactId>

                    <version>2.8.2</version>

             </dependency>

             <!-- https://mvnrepository.com/artifact/org.springframework.retry/spring-retry -->

             <dependency>

                    <groupId>org.springframework.retry</groupId>

                    <artifactId>spring-retry</artifactId>

                    <version>1.2.1.RELEASE</version>

             </dependency>

             <!-- https://mvnrepository.com/artifact/org.springframework.amqp/spring-rabbit -->

             <dependency>

                    <groupId>org.springframework.amqp</groupId>

                    <artifactId>spring-rabbit</artifactId>

                    <version>1.5.1.RELEASE</version>

             </dependency>

      </dependencies>

 

spring配置文件:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xmlns:context="http://www.springframework.org/schema/context"

      xmlns:rabbit="http://www.springframework.org/schema/rabbit"

      xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

      http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

      http://www.springframework.org/schema/rabbit

      http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-4.0.xsd">

      <!-- 加载配置属性文件 -->

    <context:property-placeholder ignore-unresolvable="true" location="classpath:config.properties" />

      <!-- 连接服务配置 如果MQ服务器在远程服务器上,请新建用户用新建的用户名密码 guest默认不允许远程登录 -->

      <rabbit:connection-factory id="connectionFactory"

             host="${rabbitmq.host}"

             username="${rabbitmq.username}"

             password="${jdbc.password}"

             port="${rabbitmq.port}"

             virtual-host="/" channel-cache-size="5" />

      <!-- 配置admin,自动根据配置文件生成交换器和队列,无需手动配置 -->

      <rabbit:admin connection-factory="connectionFactory" />

 

      <!-- queue 队列声明 -->

      <rabbit:queue durable="true" auto-delete="false"

             exclusive="false" name="spring.queue.tag" />

 

 

      <!-- exchange queue binging key 绑定 -->

      <rabbit:direct-exchange name="spring.queue.exchange"

             durable="true" auto-delete="false">

             <rabbit:bindings>

                    <rabbit:binding queue="spring.queue.tag" key="spring.queue.tag.key" />

             </rabbit:bindings>

      </rabbit:direct-exchange>

 

      <!-- spring amqp默认的是jackson 的一个插件,

      目的将生产者生产的数据转换为json存入消息队列,

      由于Gson的速度快于jackson,这里替换为Gson的一个实现 -->

      <bean id="jsonMessageConverter" class="com.nihoutao.sent.Gson2JsonMessageConverter" />

      <!-- spring template声明 -->

      <rabbit:template id="amqpTemplate" exchange="spring.queue.exchange"

             routing-key="spring.queue.tag.key" connection-factory="connectionFactory"

             message-converter="jsonMessageConverter" />

</beans>

 

测试

import com.rabbitmq.client.Channel;

import com.rabbitmq.client.Connection;

import com.rabbitmq.client.ConnectionFactory;

 

public class Send {

     

      public static void main(String[] args) throws Exception{

             ConnectionFactory factory = new ConnectionFactory();

             factory.setHost("localhost");

             Connection connection = factory.newConnection();

             Channel channel = connection.createChannel();

            

             /*获取tcp其中的一个通道后  进行队列声明

             参数1 队列名字

             参数2 是否持久化

             参数3 只被一个链接使用,链接关闭后删除

             参数4 最后一个消费者退订后删除*/

             channel.queueDeclare("wuqidi", false, false, false, null);

            

             /*发布到队列中

              * 参数1 交换机 默认交换机

              * 参数2 路由key

              * 参数3 参数

              * 参数4 发送的信息 proCon

              * */

             channel.basicPublish("", "wuqidi", null, "十九大重要会议在即".getBytes());

            

             channel.close();

             connection.close();

      }

}


参考:
http://www.cnblogs.com/shanyou/p/4067250.html

 

转载于:https://www.cnblogs.com/core404/p/7640299.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值