RabbitMq之HelloWorld

1,安装Erlang,RabbitMQ是由Erlang编写的,所以须要须要先安装它html

2,安装RabbitMQ,确保容许打开网络服务(windows环境下)java

RabbitMQ就像课本中讲的生产者消费者模型,我想看文章的人都懂得!python

我将采生产者采用java语言来实现,消费者使用python来实现,步骤以下:windows

3,java工程目录结构网络

代码:
函数

package helloword;


import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * Created by Yue on 2015/10/24.
 */
public class Send {

    public static String QUEUE_NAME="Kadima";

    public static void main(String[] args) throws IOException, TimeoutException {
        //建立链接工厂
        ConnectionFactory connectionFactory=new ConnectionFactory();
        //设置消息队列所在地址,可使用IP
        connectionFactory.setHost("localhost");
        //建立链接
        Connection connection=connectionFactory.newConnection();
        //建立管道
        Channel channel=connection.createChannel();
        //设置管道相关属性
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        //定义要发送的消息
        String message="You can do it!";
        //发送消息
        channel.basicPublish("",QUEUE_NAME, null, message.getBytes());
        System.out.println("Sent [" + message + "]");
        channel.close();
        connection.close();
    }

}

4,建立消费者:spa

import pika  #须要安装此包 pip install pika

#回调函数
def callback(ch, method, properties, body):
    #打印接收到的信息
    print " [x] Received %r" % (body,)

if __name__ == '__main__':
    connection=pika.BlockingConnection(pika.ConnectionParameters("localhost"))
    channel=connection.channel()
    channel.queue_declare("Kadima")
    channel.basic_consume(callback,queue="Kadima",no_ack=True)
    print ' [*] Waiting for messages'
    #循环等待
    channel.start_consuming()

5,运行查看结果:code

生产者运行结果:htm

消费者运行结果:rabbitmq

ps:程序还在运行哦!

RabbitMQ之HelloWord结束!

相关文章
相关标签/搜索