欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 // get方式主动消费 GetResponse res=channel.basicGet(queue_name, false); if (res != null res.getMessageCount() = 0) { System.out.println(res.getMessageCount()); String message
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
// get方式主动消费
GetResponse res=channel.basicGet(queue_name, false);
if (res != null && res.getMessageCount() >= 0)
{
System.out.println(res.getMessageCount());
String message = "";
message = new String(res.getBody());
channel.basicAck(res.getEnvelope()。getDeliveryTag(), false);
System.out.println(" [x] Received '" + message + "'");
}
else
{
System.out.println("消息队列中没有可消费的信息!");
break;
}
}
channel.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在开发的过程中,主要报的异常是:
1.创建交换机和消息队列时,设置的属性和消息产生端的php代码设置的不一样,导致不匹配和一直重写属性
2.在调用时一直没有确定到底是用basicConsume的消费模式还是basicGet消费模式(前者带有监控效果,后者没有,不知道是不是因为一者有跳出while循环,一者没有的原因)
[1] [2]