ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); //(如果没有就)创建Queue String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes());//以byte的方式发布 System.out.println(" [x] Sent ‘" + message + "‘"); channel.close(); connection.close();
ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null);//看一下Queue是否存在 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 + "‘"); }
String EXCHANGE_NAME = "logs"; ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); // 设置 exchange 类型 channel.exchangeDeclare(EXCHANGE_NAME /*exchange名称*/, "fanout"/*类型*/); // 发布消息时,指定 exchange 名称 channel.basicPublish( EXCHANGE_NAME , "", null, message.getBytes()); channel.close(); connection.close();
ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); // 设置exchange名称和类型 channel.exchangeDeclare(EXCHANGE_NAME, "fanout"); // 创建一个临时的、带有随机名称的Queue,用来与 exchange 绑定 String queueName = channel.queueDeclare().getQueue(); hannel.queueBind(queueName, EXCHANGE_NAME, ""); // 绑定 System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(queueName, true, consumer); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println(" [x] Received ‘" + message + "‘"); }
原文:http://www.cnblogs.com/caca/p/rabbitmq_demo.html