./rabbitmqctl add_user admin1 admin1

./rabbitmqctl set_user_tags admin1 administrator

./rabbitmqctl set_permissions -p "/" admin1 ".*" ".*" ".*"

测试用例:

producer:

package com.rq.test;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class Producer01 {//队列名称private static final String QUEUE = "helloworld";public static void main(String[] args) throws IOException, TimeoutException {Connection connection = null;Channel channel = null;try{ConnectionFactory factory = new ConnectionFactory();factory.setHost("192.168.156.207");factory.setPort(5672);factory.setUsername("admin1");factory.setPassword("admin1");factory.setVirtualHost("/");//rabbitmq默认虚拟机名称为“/”,虚拟机相当于一个独立的mq服务器
//创建与RabbitMQ服务的TCP连接connection = factory.newConnection();
//创建与Exchange的通道,每个连接可以创建多个通道,每个通道代表一个会话任务channel = connection.createChannel();
/*** 声明队列,如果Rabbit中没有此队列将自动创建* param1:队列名称* param2:是否持久化* param3:队列是否独占此连接* param4:队列不再使用时是否自动删除此队列* param5:队列参数*/channel.queueDeclare(QUEUE, true, false, false, null);String message = "helloworld小明"+System.currentTimeMillis();
/*** 消息发布方法* param1:Exchange的名称,如果没有指定,则使用Default Exchange* param2:routingKey,消息的路由Key,是用于Exchange(交换机)将消息转发到指定的消息队列* param3:消息包含的属性* param4:消息体*/
/*** 这里没有指定交换机,消息将发送给默认交换机,每个队列也会绑定那个默认的交换机,但是不能显示绑定或解除绑定* 默认的交换机,routingKey等于队列名称*/channel.basicPublish("", QUEUE, null, message.getBytes());System.out.println("Send Message is:'" + message + "'");}catch(Exception ex){ex.printStackTrace();}finally{if(channel != null){channel.close();}if(connection != null){connection.close();}}}
}

consumer:

package com.rq.test;import com.rabbitmq.client.*;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class Consumer01 {private static final String QUEUE = "helloworld";public static void main(String[] args) throws IOException, TimeoutException {ConnectionFactory factory = new ConnectionFactory();
//设置MabbitMQ所在服务器的ip和端口factory.setHost("192.168.156.207");factory.setPort(5672);factory.setUsername("admin1");factory.setPassword("admin1");Connection connection = factory.newConnection();Channel channel = connection.createChannel();
//声明队列channel.queueDeclare(QUEUE, true, false, false, null);
//定义消费方法DefaultConsumer consumer = new DefaultConsumer(channel) {
/*** 消费者接收消息调用此方法* @param consumerTag 消费者的标签,在channel.basicConsume()去指定* @param envelope 消息包的内容,可从中获取消息id,消息routingkey,交换机,消息和重传标志
(收到消息失败后是否需要重新发送)* @param properties* @param body* @throws IOException*/
@Override
public void handleDelivery(String consumerTag,Envelope envelope,AMQP.BasicProperties properties,byte[] body)throws IOException {
//交换机String exchange = envelope.getExchange();
//路由keyString routingKey = envelope.getRoutingKey();
//消息idlong deliveryTag = envelope.getDeliveryTag();
//消息内容String msg = new String(body,"utf-8");System.out.println("receive message.." + msg);
}};
/*** 监听队列String queue, boolean autoAck,Consumer callback* 参数明细* 1、队列名称* 2、是否自动回复,设置为true为表示消息接收到自动向mq回复接收到了,mq接收到回复会删除消息,设置为false则需要手动回复* 3、消费消息的方法,消费者接收到消息后调用此方法*/channel.basicConsume(QUEUE, true, consumer);}
}

转载于:https://www.cnblogs.com/yintingting/p/8892790.html

linux rabbitmq 远程登录相关推荐

  1. Linux之远程登录、远程拷贝命令 ssh scp

    Linux之远程登录.远程拷贝命令 ssh scp 1. 远程登录.远程拷贝命令的介绍 命令 说明 ssh 远程登录 scp 远程拷贝 2. ssh命令的使用 ssh是专门为远程登录提供的一个安全性协 ...

  2. 跨系统远程登录用Linux系统远程登录windows7

    打开windows7---->开始菜单--->运行--->输入cmd--->输入ipconfig 查看网卡信息 如下图所示 打开Linux系统--->鼠标右击打开终端-- ...

  3. 【超详细】在Linux上远程登录遇到的若干问题及解决方法(一)

    [超详细]在Linux上远程登录遇到的若干问题及解决方法(一) 目录 文章目录 [超详细]在Linux上远程登录遇到的若干问题及解决方法(一) 目录 正文 问题一:为什么我使用**ifconfig** ...

  4. linux telnet远程登录工具,Linux 远程登录(telnet ssh)

    Linux 远程登录(telnet ssh) telnet [root@rhel6 ~]# rpm -qa | grep telnet telnet-server-0.17-47.el6.x86_64 ...

  5. linux ssh远程登录 配置文件 sshd_config 介绍

    SSH由客户端和服务端的软件组成,在客户端可以使用的软件有SecureCRT.putty.Xshell等, 而在服务器端运行的是一个sshd的服务,通过使用SSH,可以把所有传输的数据进行加密,而且也 ...

  6. php 登录 linux服务器,如何实现linux系统远程登录到linux服务器

    linux系统登录到远程linux服务器: 有多种不同的协议可供选择,也许SSH是"最好"的.SSH是secure shell的简写,意为"安全的shell". ...

  7. linux Telnet远程登录

    在Linux(我用的Red Hat9.0)操作系统中,首先确保系统安装了telnet-server软件包.查看是否安装此软件包的命令: [root@localhost root]#rpm -qa | ...

  8. linux telnet远程登录的步骤,Linux如何远程登录telnet和ssh

    通常情况下在Linux系统中远程登录我们使用telnet服务,Red Hat Linux自带的有telnet服务器的软件包,我们需要安装telnet-server和xinetd两个软件包: [root ...

  9. linux服务器学习笔记:linux如何远程登录?

    Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...

最新文章

  1. python3字典详解_python3中字典详解
  2. 用跑得最慢的电脑程序,理解最高深的哥德巴赫猜想
  3. nodejs安装及环境配置(windows系统)
  4. ajax-典型应用-验证用户名
  5. 街篮混服服务器信息,街篮手游闻鸡起舞服务器火爆开启
  6. hdu4353 Finding Mine三角形内的点数
  7. [ BZOJ 3879 ] SvT
  8. java sqlserver 分页_java+sqlserver 使用分页存储过程
  9. 以后别写程序了,几个程序员很有用的源码网站奉献给大家
  10. 算法基础练习--最大公约数和最小公倍数
  11. Rusr Error: linker `x86_64-w64-mingw32-gcc` not found
  12. 数据库与REDIS缓存数据一致性解决方案
  13. 《Adobe Photoshop CS6中文版经典教程》目录—导读
  14. Java面试题(一)
  15. 学术论文科研写作方法总结--针对深度学习,自然语言处理等领域
  16. 学习笔记 time模块练习 纪念日计算
  17. 电影沙龙之《黑镜-白熊公园》
  18. 一键清除锁屏密码:苹果手机忘记锁屏密码的解决方案
  19. 2017年中兴捧月神算师算法精英挑战赛之阿尔法勒克斯特派(AlphaNext派)-----进来加群咯
  20. 史无前例!肝了30天,终于整出这份[分布式宝典:限流+缓存+通讯]

热门文章

  1. pip安装cinrad
  2. php课程---JavaScript与Jquery的区别(转)
  3. 关于glusterfs-3.0.4中AFR修复的一个bug
  4. MsChart5 累计柱状图 分类统计
  5. JavaFX 概述 (译)
  6. php 返回的缓存数据,基于PHP输出缓存(output_buffering)的深入理解
  7. 360安全路由器v2处理器_您的路由器有多不安全?
  8. symfony框架_为什么我们放弃传统的Symfony框架
  9. (45)css面试题集锦二
  10. ES6(ECMAScript2015)/01/ES6简介