rabbitmq學習——helloworld
public class Send {
public static void main(String[] args) throws Exception{
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
/*獲取tcp其中的一個通道後 進行隊列聲明
參數1 隊列名字
參數2 是否持久化
參數3 只被一個鏈接使用,鏈接關閉後刪除
參數4 最後一個消費者退訂後刪除*/
channel.queueDeclare("wuqidi", false, false, false, null);
/*發布到隊列中
* 參數1 交換機 默認交換機
* 參數2 路由key
* 參數3 參數
* 參數4 發送的信息 proCon
* */
channel.basicPublish("", "wuqidi", null, "十九大重要會議在即。".getBytes());
channel.close();
connection.close();
}
}
public class Receive {
public static void main(String[] args) throws Exception{
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
/*獲取tcp其中的一個通道後 進行隊列聲明
參數1 隊列名字
參數2 是否持久化
參數3 只被一個鏈接使用,鏈接關閉後刪除
參數4 最後一個消費者退訂後刪除*/
channel.queueDeclare("wuqidi", false, false, false, null);
//callback
com.rabbitmq.client.Consumer callback = new Consumer() {
@Override
public void handleShutdownSignal(String consumerTag,
ShutdownSignalException sig) {
// TODO Auto-generated method stub
System.out.println("關閉信號源" + consumerTag);
}
@Override
public void handleRecoverOk(String consumerTag) {
// TODO Auto-generated method stub
System.out.println("返回ok" + consumerTag);
}
@Override
public void handleDelivery(String arg0, Envelope arg1,
BasicProperties arg2, byte[] body) throws IOException {
// TODO Auto-generated method stub
System.out.println(arg0 +"---" + new String(body, "utf-8"));
}
@Override
public void handleConsumeOk(String consumerTag) {
System.out.println("返回123ok" + consumerTag);
}
@Override
public void handleCancelOk(String consumerTag) {
System.out.println("信號源ok" + consumerTag);
}
@Override
public void handleCancel(String consumerTag) throws IOException {
System.out.println("返回consumerTag" + consumerTag);
}
};
channel.basicConsume("wuqidi", callback);
}
}
後期如果用spring搭建框架,可以在xml中進行聲明queue,包括綁定,監聽等。服務層中只需要獲取amqptemplate然後發送或者接受即可。
rabbitmq學習——helloworld