• RabbitMQ安装与Hello Word!


    转载请注明出处:http://www.cnblogs.com/blazer/p/4958007.html

    环境:CentOS6.4

    必须安装erlang

    先去官网下载

    下linux源码版 版本 otp_src_18.1

    然后./configure 会报个小错 Makefile:248: /usr/local/otp_src_18.1/make/x86_64-unknown-linux-gnu/otp_ded.mk: No such file or directory error: No curses library functions found

    然后需要安装 sudo yum install ncurses-devel.x86_64

    然后再继续 ./configure

    make

    make install

    好了

    接下来安装非常不便利的rabbitmq

    同样是官网下载 版本 rabbitmq_server-3.5.6

    然后解压

    cd rabbitmq_server-3.5.6

    启动 sh sbin/rabbitmq-server

    帮助 sh sbin/rabbitmqctl

    sh sbin/rabbitmqctl add_user hyy hyy

    sh sbin/rabbitmqctl set_permissions -p / hyy ".*" ".*" ".*"

    然后就是非常简单的java代码了 其他的自己去官网看吧

    发送端:

    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.ConnectionFactory;
    
    /**
     * @author Blazer He
     * @__date 2015年11月9日
     */
    public class Send {
    
        private final static String QUEUE_NAME = "hello";
    
        public static void main(String[] args) throws Exception {
            ConnectionFactory factory = new ConnectionFactory();
            factory.setHost("192.168.0.57");
            factory.setUsername("hyy");
            factory.setPassword("hyy");
            factory.setVirtualHost("/");
            factory.setPort(5672);
            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(" [x] Sent '" + message + "'");
            channel.close();
            connection.close();
        }
    
    }
    

    接收端:

    import java.util.Date;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.QueueingConsumer;
    
    public class Consume {
    
        private final static String QUEUE_NAME = "hello";
    
        public static void main(String[] argv) throws Exception {
    
            ConnectionFactory factory = new ConnectionFactory();
            factory.setHost("192.168.0.57");
            factory.setUsername("hyy");
            factory.setPassword("hyy");
            factory.setVirtualHost("/");
            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(new Date() + " [x] Received '" + message + "'");
            }
        }
    
    }
    

      

    好了,初步可以跑起来了,还有更多的功能需要深入。

  • 相关阅读:
    了解NAT及P2P技術
    MS sqlserver數據恢復
    cvs定時備份
    html結合javascript實現的進度條
    在linux下oracle自啟動腳本
    android_activity_研究(一)
    android_onSaveInstanceState_onRestoreInstanceState研究
    android_sdcard读写(三)
    android_activity_研究(二)
    android_sdcard读写(一)
  • 原文地址:https://www.cnblogs.com/blazer/p/4958007.html
Copyright © 2020-2023  润新知