1. 程式人生 > >rabbitmq學習——helloworld

rabbitmq學習——helloworld

utf cpu reat actor chan down clas rri cto

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