Linux rabbitmq 远程,linux rabbitmq 远程登录

本文介绍了如何在Linux环境中配置RabbitMQ,并使用Java进行集成测试,包括创建用户、设置权限和创建队列。提供了一个简单的生产者和消费者Java示例,展示了如何通过RabbitMQ发送和接收消息。生产者创建TCP连接,声明队列并发送消息,消费者则创建连接,监听队列并处理接收到的消息。
摘要由CSDN通过智能技术生成

./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();

//路由key

String routingKey = envelope.getRoutingKey();

//消息id

long 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);

}

}

Linux系统管理远程登录工具PUTTY

PuTTY 简介        PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连线软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植 ...

Linux网络管理——远程登录工具

4. 远程登录工具 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB", ...

CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试

前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和 ...

Wireshark 分析Linux SSh 远程登录延迟问题

1.PuTTy远程登录延迟的分析 现象问题描述:在使用kali linux 的时候喜欢在后台运行而在Windows主机系统上安装PuTTY来实现远程登录 发现每次输入密码的时候会存在延迟10s的情况, ...

通过linux ssh远程登录另一台Linux,无需密码,用证书验证

1.首先登入一台linux服务器,此台做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成key文件:ssh-keygen -t rsa 2.在母机上,进入/roo/.ssh目录,找到 ...

linux网络管理----远程登录工具

1.对称加密 例子:压缩文件加密码,别人要打开,只能知道你的密码,这样的方法不安全,因为这个密码可能是你的qq密码或者是邮箱密码等等 2.非对称加密 类似于放羽毛球的桶,两边都可以拿资源,两边都加一个 ...

Linux telnet远程登录操作

telnet  (如果不行 可以却换root帐户试试 su - root) 1.安装telnet-server     sudo dpkg -i xinetd_1%3a2.3.14-7ubuntu3_ ...

设置Suse linux 用户远程登录超时时间

执行  # echo "export TMOUT=900"  >>  /etc/profile 查询设置结果: # cat /etc/profile|grep TMOU ...

远程登录LINUX

远程登录LINUX LINUX 大多数应用于服务器,因此我们一般都是用远程登录的方式访问系统,windows的操作系统远程访问Linux的操作系统,我们需要另外安装终端软件,如Scure CRT,PU ...

随机推荐

SSH实战 · 唯唯乐购项目(中)

用户模块 三:一级分类的查询 创建一级分类表并导入基本数据 CREATE TABLE `category` (   `cid` int(11) NOT NULL AUTO_INCREMENT,   ` ...

BMP图片格式

BMP图片 BMP采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大.BMP文件的图像深度可选lbit.4bit.8bit及24bit和32bit.BMP文 ...

【BZOJ】【1863】【ZJOI2006】trouble 皇帝的烦恼

二分+DP Orz KuribohG 神题啊= = 满足单调性是比较显然的…… 然而蒟蒻并不会判断能否满足……QwQ 神一样的DP姿势:f[i]表示第 i 个与第1个最多有多少个相同,g[i]表示最少 ...

poj 3041 Asteroids(最小点覆盖)

http://poj.org/problem?id=3041 Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions ...

常用元素的属性/方法 attr / val / html /text

常用元素的属性/方法 得到一个元素的高度, $("#myid").height() 得到一个元素的位置, $("#myid").offset() 返回的是一个o ...

独立完成一个移动点餐wap后的小结

1.技术栈:vue  vue-router  vuex  Mint-ui  better-scroll; 2.实践总结: a.单页应用不重新渲染组件问题:组件在初次渲染后不会重新渲染,此时当从某个路径 ...

surging如何使用swagger 组件测试业务模块

1.前言 微服务架构概念的提出已经有非常长一段时间了,但在近期几年却开始频繁地出现,大家都着手升级成微服务架构,使用着各种技术,大家认为框架有服务治理就是微服务,实现单一协议的服务调用,微服务虽然没有 ...

mysql创建表单脚本

如图所示,T_SENSOR_QC_CONFIG_GLOBAL_ITEM表通过外键CATEGORY_ID连接T_SENSOR_QC_CONFIG_CAT表.COMMENT为字段或表单添加注释.

java 堆和栈二

1.数组 整数默认初始化值0 浮点数默认初始化值0.0 布尔类型默认初始化值false 字符类型默认初始化值\u0000 [I@7852e922 [有几个代表是几维数组 I代表是Int类型 @固定格式 ...

CDN中,字体文件的跨域问题和解决

@font-face是CSS3中的一个特性,可以把自己定义的Web字体嵌入到网页中,随着@font-face,越来越多的网页采用字体图标作为网页中的小图形. 比如Bootstrap就采用了Glyphi ...

要使用RabbitMQ进行远程调用,需要对远程调用进行配置。具体操作步骤可以参考一篇名为《解决RabbitMQ远程不能访问的问题》的文章,文章链接为http://www.linuxidc.com/Linux/2014-10/107917.htm。在该文章中,介绍了如何配置外部机器上的RabbitMQ,并进行远程调用的测试。 另外,在Java中进行远程连接调用RabbitMQ的实例代码也是可行的。你可以使用@RabbitListener注解来监听指定队列、指定exchange、指定routingKey的消息。同时,@RabbitListener还具有创建队列、exchange和routingKey的功能。为了启动这个功能,你需要创建一个启动类,如下所示: ```java @SpringBootApplication public class RabbitMQApp { public static void main(String[] args) { SpringApplication.run(RabbitMQApp.class, args); } } ``` 通过以上步骤,你就可以在Java中使用RabbitMQ进行远程调用了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [RabbitMQ远程调用测试用例](https://blog.csdn.net/weixin_35997546/article/details/116845963)[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: 33.333333333333336%"] - *2* [java远程连接调用Rabbitmq的实例代码](https://download.csdn.net/download/weixin_38648396/12776702)[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: 33.333333333333336%"] - *3* [springboot+rabbitMQ实现RPC远程调用](https://blog.csdn.net/u010395024/article/details/105191699)[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: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值