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推薦