zoukankan      html  css  js  c++  java
  • rabbitmq的java简单的实现

    1,安装rabbitmq.我的是ubuntu14.04,在官网上面下载最新的安装文件http://www.rabbitmq.com/install-debian.html

    2.安装完之后  启动rabbitmq, sudo rabbitmq-server 

    3.下载jar包 

    4.最简单的hello world的实现

    Sender类

    package com.lubby.test;
    
    import java.io.IOException;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    public class ClientSender {
    	private final static String QUEUE_NAME = "hello";
    
    	public static void main(String[] args) throws IOException {
    		ConnectionFactory factory = new ConnectionFactory();
    		factory.setHost("127.0.0.1");
    		Connection connection = factory.newConnection();
    		Channel channel = connection.createChannel();
    		channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    		String message = "Hello World";
    		channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
    
    		System.out.println("  Sent: '" + message + "'");
    		channel.close();
    		connection.close();
    	}
    }
    


    Receiver类

    package com.lubby.test;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.QueueingConsumer;
    
    public class ClientReceiver {
    	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("127.0.0.1");
    		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(" Received:'" + message + "'");
    		}
    	}
    }
    

    5.測试

    启动ClientReceiver-

     [*] Waiting for messages. To exit press CTRL+C
    启动ClientSender

     Sent: 'Hello World'

    ClientReceiver接收到消息

     [*] Waiting for messages. To exit press CTRL+C
     Received:'Hello World'


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    C语言指针
    Windows环境下 PHP+Apache+Mysql配置
    游戏贴图中常用术语《DC》的理解
    C# winform程序如何打包64位安装程序
    C# winform中的datagridview控件标头加入checkbox,实现全选功能。
    C# WinForm控件之Dock顺序调整
    关于struts2.0 中 struts.xml设置了struts.devMode 的值为TRUE后仍然不起作用的分析
    Java Web项目 配置 ueditor心得
    关于VS中文件属性的解释
    使用Ueditor的心得。
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4638756.html
Copyright © 2011-2022 走看看