rabbitMQ学习(七)反馈模式
反馈模式在消费端接收到消息后,会反馈给服务器信息。
连接代码:
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 voidmain(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);
}
}
}
页:
[1]