您的位置:首页 > 其它

rabbitMQ学习(七)反馈模式

2016-07-21 18:55 232 查看
反馈模式

在消费端接收到消息后,会反馈给服务器信息。

连接代码:

import java.io.IOException;

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

public class GetChannel {
private static Connection connection=null;
private static Channel channel=null;
public static Channel getCh() throws IOException{
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
connection = factory.newConnection();
channel = connection.createChannel();
return channel;
}

public static void close() throws IOException{
if(channel!=null){
channel.close();
}
if(connection!=null){
connection.close();
}
}

}


  发送消息端:

import com.jiacl.finance.rabbitmq.exchange.GetChannel;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.MessageProperties;

public class Send {
final static String queueName="queuetwo";
public static void  main(String args[]) throws Exception{
Channel channel = GetChannel.getCh();
channel.queueDeclare(queueName, true,false,false,null);
channel.basicPublish("",queueName,MessageProperties.PERSISTENT_TEXT_PLAIN,"fuck".getBytes());
GetChannel.close();
}
}


  接收消息端:

import com.jiacl.finance.rabbitmq.exchange.GetChannel;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.QueueingConsumer;

public class recvier {
final static String queueName="queuetwo";

public static void main(String[] args)throws Exception {
Channel channel = GetChannel.getCh();
channel.queueDeclare(queueName, true, false, false, null);
channel.basicQos(1);
QueueingConsumer consumer=new QueueingConsumer(channel);
channel.basicConsume(queueName,false,consumer);
while (true){
QueueingConsumer.Delivery delivery=consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(message);
channel.basicAck(delivery.getEnvelope().getDeliveryTag(),true);
}

}

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: