RabbitMQ远程调用测试用例

RabbitMQ远程调用测试,使用外部机器192.168.174.132上的RabbitMQ,使用之前需要对远程调用进行配置,操作过程见博文“解决RabbitMQ远程不能访问的问题”。

  SendTest:


package com.mq.rabbitmq.rabbitmqtest;

import java.util.Date;

import com.rabbitmq.client.ConnectionFactory;

import com.rabbitmq.client.Connection;

import com.rabbitmq.client.Channel;

import com.rabbitmq.client.QueueingConsumer;

public class ReceiveTest {

private final static String QUEUE_NAME = "ftpAgent";

private final static String userName = "admin";

private final static String password = "admin";

private final static String virtualHost = "/";

private final static int portNumber = 5672;

private final static String hostName = "master";

private final static String host = "192.168.174.132";

public static void main(String[] argv) throws java.io.IOException,

java.lang.InterruptedException {

ConnectionFactory factory = new ConnectionFactory();

//      factory.setHost("192.168.174.160");

factory.setUsername(userName);

factory.setPassword(password);

//      factory.setVirtualHost(virtualHost);

factory.setHost(host);

factory.setPort(portNumber);

Connection connection = factory.newConnection();

Channel channel = connection.createChannel();

//      channel.queueDeclare(QUEUE_NAME, false, false, false, null);

System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

QueueingConsumer consumer = new QueueingConsumer(channel);

channel.basicConsume(QUEUE_NAME, true, consumer);

Date nowTime = new Date();

while (true) {

QueueingConsumer.Delivery delivery = consumer.nextDelivery();

String message = new String(delivery.getBody());

System.out.println("RecieveTime: " + nowTime);

System.out.println(" [x] Received '" + message + "'");

}

}

}

 ReceiveTest:


package com.mq.rabbitmq.rabbitmqtest;

import java.util.Date;

import com.rabbitmq.client.ConnectionFactory;

import com.rabbitmq.client.Connection;

import com.rabbitmq.client.Channel;

import com.rabbitmq.client.QueueingConsumer;

public class ReceiveTest {

private final static String QUEUE_NAME = "ftpAgent";

private final static String userName = "admin";

private final static String password = "admin";

private final static String virtualHost = "/";

private final static int portNumber = 5672;

private final static String hostName = "master";

private final static String host = "192.168.174.132";

public static void main(String[] argv) throws java.io.IOException,

java.lang.InterruptedException {

ConnectionFactory factory = new ConnectionFactory();

//      factory.setHost("192.168.174.160");

factory.setUsername(userName);

factory.setPassword(password);

//      factory.setVirtualHost(virtualHost);

factory.setHost(host);

factory.setPort(portNumber);

Connection connection = factory.newConnection();

Channel channel = connection.createChannel();

//      channel.queueDeclare(QUEUE_NAME, false, false, false, null);

System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

QueueingConsumer consumer = new QueueingConsumer(channel);

channel.basicConsume(QUEUE_NAME, true, consumer);

Date nowTime = new Date();

while (true) {

QueueingConsumer.Delivery delivery = consumer.nextDelivery();

String message = new String(delivery.getBody());

System.out.println("RecieveTime: " + nowTime);

System.out.println(" [x] Received '" + message + "'");

}

}

}

  运行结果:

  SendTest:

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-22 09:17:02

RabbitMQ远程调用测试用例的相关文章

RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

        在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例. 1. 客户端接口 Client interface         为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class. 它将会向外提供名字为call的函数,这个call会发送RPC请求并且阻塞知道收到RPC运算的结果.代码

jax_ws 客户端远程调用方法时必须使用wsimport命令生成接口代码

问题描述 jax_ws 客户端远程调用方法时必须使用wsimport命令生成接口代码 jax_ws 客户端远程调用方法时,不生成服务端的代码如何实现?

WEB(Javascript)远程调用方案清单

javascript|web Web远程过程调用(以下简称WebRPC)是在不刷新页面的前提下,对远程方法进行调用,是最近的一个热点:在一些场合下,他甚至成为不可替代的实现方式.WebRPC的实现方式经历了从普通URL读取,隐藏帧,IFrame, XMLHTTP乃至 Flash等.本文将对目前存在的WebRpc方案(产品)进行列表,并作简单评价. 评价将在以下几个方面进行:客户端实现方式,服务器端实现方式,是否自行封装协议,是否支持序列化/反序列化,序列化支持是否完备(原子类型,对象类型),是否

java如何远程调用linux的命令或者脚本

Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 使用步骤如下: 1.导包 官网下载: http://www.ganymed.ethz.ch/ssh2/ maven坐标: <dependency> <groupId>com.ganymed.ssh2</groupId> <artifactId>ganymed-ssh2-build</artifactId> <version>210&l

用Flash远程调用增强J2EE表示层

对Macromedia公司的Flash的远程调用使得Java开发者除了JSP(JavaServer Pages)和Swing之外又有了一种全新的方式来构建J2EE(Java 2 Platform, Enterprise Edition)应用. 本文调查了Flash远程调用,解释了为何它有如此作用,并且提供了一个如何实现的例子 在任何多层体系中选择表示层技术时,Java开发者通常有两种选择: JSP或者Swing/AWT(Abstract Windowing Tookit).借助JSP,开发者可以

如何远程调用Access数据库方法详解

  如何远程调用Access数据库方法详解: 使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0.).分服务器和客户端两部分,服务器可以多用户同时连接.远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器). 远程连接access数据库的几个方法: 1.建立VPN(Virtual Private Network),这样你的电脑和主机的连接就与局域网无异,然后把服务器

JQUERY中的ajax方法怎样通过JSONP进行远程调用

 这一节主要演示下在JQUERY中的ajax方法怎样通过JSONP进行远程调用,需要的朋友可以参考下 关于JSONP的概念和为什么要使用JSONP网上已经有很多教程,这一节主要演示下在JQUERY中的ajax方法怎样通过JSONP进行远程调用    首先介绍下$.ajax的参数  type:请求方式 GET/POST  url:请求地址  async:布尔类型,默认为true 表示请求是否为异步,如果为false表示为同步.  dataType:返回的数据类型  jsonp:传递给请求处理程序或

.net-C#远程调用powershell访问lync服务器 报错问题

问题描述 C#远程调用powershell访问lync服务器 报错问题 如题,下面是代码和错误信息: 代码: string server = Convert.ToString(ConfigurationManager.AppSettings["serverName"]); string username = Convert.ToString(ConfigurationManager.AppSettings["userName"]); string str_passw

架构师之路-在Dubbo中开发REST风格的远程调用

概述 dubbo支持多种远程调用方式,例如dubbo RPC(二进制序列化 + tcp协议).http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持).hessian(二进制序列化 + http协议).WebServices (文本序列化 + http协议)等等,但缺乏对当今特别流行的REST风格远程调用(文本序列化 + http协议)的支持. 有鉴于此,我们基于标准的Java REST API--JAX-RS 2.0(Java API for REST