java访问rabbitMQ队列教程二

时间 2014-11-27 12:47:18            IT部落格                    原文                  http://www.itbuluoge.com/?p=982

java访问rabbitMQ队列教程二,该节主要讲解利用Java来获取在rabbitMQ中的消息对象。

发送消息的代码如下:

代码
/*** */
package com.rabbitMQ.pro;import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;/*** @filename Send.java* @author code by jianghuiwen* @mail jianghuiwen2012@163.com** 上午8:57:08*/
public class Send {  private final static String QUEUE_NAME = "hello";  public static void main(String[] argv)
          throws java.io.IOException {      /*使用工厂类建立Connection和Channel,并且设置参数*/
      ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("192.168.10.86");//MQ的IP
          factory.setPort(5672);//MQ端口
          factory.setUsername("hfc");//MQ用户名
          factory.setPassword("hfc");//MQ密码
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();        /*创建消息队列,并且发送消息*/
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        for(int i=0;i<5;i++)
        {            String message = String.valueOf(i);
          channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
          System.out.println(" [x] Sent '" + message + "'");
        }        /*关闭连接*/
        channel.close();
        connection.close();
      }}

接收代码如下:

代码
/*** */
package com.rabbitMQ.pro;import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.QueueingConsumer;/*** @filename Recv.java* @author code by jianghuiwen* @mail jianghuiwen2012@163.com** 上午9:17:52*/
public class Recv {  private final static String QUEUE_NAME = "hello";    public static void main(String[] argv)
        throws java.io.IOException,
               java.lang.InterruptedException {      /*建立连接*/
      ConnectionFactory factory = new ConnectionFactory();
      factory.setHost("192.168.10.86");//MQ的IPfactory.setPort(5672);//MQ端口factory.setUsername("hfc");//MQ用户名factory.setPassword("hfc");//MQ密码
      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);     /* 读取队列,并且阻塞,即在读到消息之前在这里阻塞,直到等到消息,完成消息的阅读后,继续阻塞循环*/
      while (true) {        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        String message = new String(delivery.getBody());
        System.out.println(" [x] Received '" + message + "'");
      }
      }
}

输出结果:

其中四个数字是已经发送到消息队列的消息,我们可以看到,已经能够成功的获取数据。

java访问rabbitMQ 一相关推荐

  1. Java 访问RabbitMQ

    一.概述 前面学过ActiveMQ.ActiveMQ主要是实现的JMS规范,而RabbitMQ就是AMQP的一个具体实现. RabbitMQ里面有几个概念:生产者.消费者.消息.交换器.路由键.队列. ...

  2. java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...

    java访问修饰符详解--学java,零基础不怕,不只要理论,更要实践+项目 <a href=http://www.bjweixin.com>太原维信科技提供 </a> pub ...

  3. Java访问指示符 访问修饰符

    5.2 Java访问指示符 针对类内每个成员的每个定义,Java访问指示符poublic,protected以及private都置于它们的最前面--无论它们是一个数据成员,还是一个方法.每个访问指示符 ...

  4. php post get content-type,content-type - java访问php接口问题,$_POST默认接收的contentType是?...

    背景 现在java需要访问我的php接口 我这边直接$_POST取值 测试工具是mac下的,我不太清楚,是HTTP服务测试工具,填我的api地址,参数,然后访问类型Post/Get,然后线程数什么的, ...

  5. [Domino]Java访问Domino必需配置的服务器设置

    [Domino]Java访问Domino必需配置的服务器设置 编写者<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com ...

  6. 使用nodejs和Java访问远程服务器的服务

    既然这篇文章用的是nodejs和Java访问远程服务器的服务,那么咱们先用另一门编程语言,SAP的ABAP(我日常工作使用得最多的编程语言)来开发一个服务吧. 这是我用ABAP编程语言实现服务的类:Z ...

  7. 访问windows azure虚拟机iis服务器,如何直接从Java访问Azure/IIS证书?

    thumbprint="ad513653e4560fe4afce5bdac88c744fbcf93525" thumbprintAlgorithm="sha1" ...

  8. java solr_通过Java访问Solr服务实例及相关配置

    一.通过Java访问Solr服务(手动创建索引库) 1.创建项目,配置环境(导包及相关文件) 1.SolrJ核心包 /solr-4.10.3/dist/solr-solrj-4.10.3.jar 2. ...

  9. 详解java访问修饰符

    *************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如 ...

  10. Java面试——RabbitMQ系列总结

    1.RabbitMQ是什么? RabbitMQ是一款开源的,Erlang编写的,基于AMQP(高级消息队列协议)协议的消息中间件. 2.为什么要使用消息队列? 从本质上来说是因为互联网的快速发展,业务 ...

最新文章

  1. L1-039. 古风排版
  2. 代码解析深度学习系统编程模型:TensorFlow vs. CNTK
  3. vs当前文件的函数索引_VM实战(六) - 通过案例深入学习class文件结构原理
  4. 『设计模式』 又谈麦当劳的食品--组合模式(Composite)
  5. 借助实时数据推送快速制作在线对战五子棋小游戏丨实战
  6. linux备份能压缩吗,Linux备份与压缩命令
  7. 【排序算法】堆排序——常规方法
  8. 串口通信USART的波特率误差计算GD32、STM32
  9. 使用所学的javaWeb知识,实现一个小型的记账管理系统
  10. steam显示网页错误怎么办?
  11. abs函数c语言std,c++ 在std :: abs函数上
  12. 【WSN通信】基于matlab粒子群算法改进能量均衡高效WSN LEACH协议【含Matlab源码 1562期】
  13. pat 乙级 1072. 开学寄语(20)
  14. Electron:前端人的最佳跨平台解决方案
  15. 一文带你搞清楚USB、type-C、雷电三接口之间的区别与联系
  16. 统驭科目(Reconciliation account)
  17. 软件工程项目之随心所欲—食堂点菜系统
  18. 用js计算12个月的社保缴纳总额-企业信息公示
  19. 再谈Android客户端进程保活
  20. inn之CTS debug小技巧(1)

热门文章

  1. 范凯:对移动社交型app的一点思考
  2. 1990-2000年事务处理流程图和数据流图试题分析
  3. 清华寒门女孩毕业演讲刷爆网络:世界本不公平,努力是你唯一的路!
  4. 21天实战人工智能系列:人工智能产品经理最佳实践(2)
  5. 网页f12查看服务器,网页中审查元素(按F12)与查看网页源代码的区别
  6. [Xcode 实际操作]四、常用控件-(12)环形进度条控件的使用
  7. [ROS-Beginner]1.安装与配置ROS环境
  8. javascript Date日期类
  9. 谈谈持久连接——HTTP权威指南读书心得(五)
  10. easyui---layout实战