我一直在使用以下代码运行hello world RabbitMQ示例:
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
public class Send {
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws java.io.IOException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String message = "Hello World!";
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();
}
}
和
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.QueueingConsumer;
public class Recv {
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv)
throws java.io.IOException,
java.lang.InterruptedException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(QUEUE_NAME, true, consumer);
while (true) {
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(" [x] Received '" + message + "'");
}
}
}
当我运行接收器时,它会侦听队列,并且发送者说它发送消息但似乎没有关闭。然后我跑:
rabbitmqctl list_queues
肯定正在创建队列。
但是当我跑步时:
rabbitmqctl list_connections
我得到以下输出
benuni@DeShawn:~$ sudo rabbitmqctl list_connections
ls: cannot access /etc/rabbitmq/rabbitmq.conf.d: No such file or directory
Listing connections ...
guest 127.0.0.1 64700 blocked
guest 127.0.0.1 64709 blocked
guest 127.0.0.1 64614 blocked
guest 127.0.0.1 64716 blocked
guest 127.0.0.1 64717 blocked
guest 127.0.0.1 64701 blocked
guest 127.0.0.1 64699 blocking
guest 127.0.0.1 64613 blocking
guest 127.0.0.1 64708 blocking
guest 127.0.0.1 64718 blocked
guest 127.0.0.1 64706 blocked
...done.
因为某些原因,rabbitmq服务器阻止了我的连接? 有谁知道我需要做什么? 谢谢, 本
答案 0 :(得分:2)
检查日志中是否有以下消息:
=INFO REPORT==== 2-Jul-2012::13:38:02 ===
Disk free space limit now exceeded. Free bytes:13114646528 Limit:15740784640
有关详细信息,请参阅http://comments.gmane.org/gmane.comp.networking.rabbitmq.general/16493
答案 1 :(得分:1)
如果您看到这样的连接被阻止,则表示您可能超过了磁盘和/或内存的水印级别。
有关详细信息,请参阅:http://www.rabbitmq.com/memory.html。