1.基本安裝

分為 server ?+ client?

?

server的安裝:

?

1.添加?deb http://www.rabbitmq.com/debian/ testing main 到 /etc/apt/sources.list

?

2.apt-get update.

?

3.sudo apt-get install?rabbitmq-server

這個步驟會自動啟動?rabbitmq-server 服務。

?

常用命令:

?

rabbitmqctl -h?

rabbitmqctl status?

rabbitmqctl?stop

rabbitmqctl?start_app

?

?

客戶端安裝:

maven:

<dependency>

? <groupId>com.rabbitmq</groupId>

? <artifactId>amqp-client</artifactId>

? <version>2.8.4</version>

</dependency>

?

或是下載鏈接:

wget http://www.rabbitmq.com/releases/rabbitmq-java-client/v2.8.4/rabbitmq-java-client-bin-2.8.4.tar.gz

?

客戶端編碼---發送者:

?

package com.jieting.mq.rabbit.send;

import java.io.IOException;

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

public class MessageSend {

    private static final String QUENE_NAME = "hello";

    public static void main(String[] args) throws IOException {

        ConnectionFactory connectionFactory = new ConnectionFactory();
        connectionFactory.setHost("localhost");

        Connection newConnection = connectionFactory.newConnection();
        Channel createChannel = newConnection.createChannel();

        createChannel.queueDeclare(QUENE_NAME, true, false, false, null);
        String message = "hello rabbitmq world!";
        createChannel.basicPublish("", QUENE_NAME, null, message.getBytes());

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

        createChannel.close();
        newConnection.close();

    }
}

?

消費者代碼:

?

package com.jieting.mq.rabbit.receive;

import java.io.IOException;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.ConsumerCancelledException;
import com.rabbitmq.client.QueueingConsumer;
import com.rabbitmq.client.ShutdownSignalException;

public class MessageReceive {

    private static final String QUENE_NAME = "hello";

    public static void main(String[] args) throws IOException, ShutdownSignalException, ConsumerCancelledException,
                                          InterruptedException {

        ConnectionFactory connectionFactory = new ConnectionFactory();
        Connection newConnection = connectionFactory.newConnection();
        Channel createChannel = newConnection.createChannel();

        createChannel.queueDeclare(QUENE_NAME, true, false, false, null);
        System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

        QueueingConsumer queueingConsumer = new QueueingConsumer(createChannel);
        createChannel.basicConsume(QUENE_NAME, true, queueingConsumer);
        while (true) {
            QueueingConsumer.Delivery delivery = queueingConsumer.nextDelivery();
            String message = new String(delivery.getBody());
            System.out.println(" [x] Received '" + message + "'");
        }
    }
}

?

以上資料都可從 一下地址找到:

http://www.rabbitmq.com/java-client.html

http://www.rabbitmq.com/getstarted.html

?



已有 0 人發表留言,猛擊->>這里<<-參與討論


ITeye推薦