我用下面的代码 举了一个哈罗世界兔子的榜样:
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.
SO for some reason the rabbitmq server is blocking my connections? Does anyone know what i need to do? Thanks, Ben