rabbitmq
zhongjay
这个作者很懒,什么都没留下…
展开
-
rabbitmq-connection
一、ConnectionFactory ConnectionFactory factory = new ConnectionFactory(); 开启一个连接,默认localhost和默认端口 factory.newConnection(addressAry); 二、newConnection 完整的方法签名: public Connection newConne...原创 2015-11-29 16:37:16 · 532 阅读 · 0 评论 -
rabbitmq-queueDeclarePassive
DeclareOk a = channel.queueDeclarePassive(q); 申明队列时,如果q在broker不存在,则会报错: reply-code=404,reply-text=NOT_FOUND 如果存在则会返回ok原创 2015-12-01 09:36:48 · 3801 阅读 · 0 评论 -
rabbitmq-exchangeDelete
如果设置了ifunused=true,此时再去删除exchange,则会报错: channel.queueBind(queueName, EXCHANGE_NAME, ROUTING_KEY); channel.exchangeDelete(EXCHANGE_NAME, true); fail("Exception expected if exchange in use"); ...原创 2015-12-01 09:36:34 · 987 阅读 · 0 评论 -
rabitmq-consumer-nextDelivery
QueueingConsumer consumer = new QueueingConsumer(channel); 声明一个消费者,然后接收消息。 如果我们直接用这种方式:consumer.nextDelivery() 那么当这个consumer没有消息时,线程会阻塞。因为consumer内部是blockqueue,没有数据却取数据时,就会阻塞,知道有数据放进此blockqueu...原创 2015-12-01 09:36:24 · 1800 阅读 · 0 评论 -
rabbitmq-exchangeBind
queue可以与exchange绑定 exchange之间也可以互相绑定,但是当queue与互相绑定的exchange都存在绑定关系时,不会重复接收消息。 /* pre (eN --> qN) for N in [0..2] * add binding (e0 --> q1) * test (e0 --> {q0, q1}) * ad...原创 2015-12-01 09:36:13 · 662 阅读 · 0 评论 -
rabbitmq-InternalExchange
如果一个excahnge被定义成Internal,那么consumer是不能给它发消息的,会报错; //// Functional test demonstrating use of an internal exchange in an exchange to// exchange routing scenario. The routing topology is://// ...原创 2015-12-01 09:34:56 · 1061 阅读 · 1 评论 -
rabbitmq-ConfirmListener
当broker开启confirm时,可以添加此监听器。 public void testWaitForConfirms() throws IOException, InterruptedException { // 创建Channel时开启:channel.confirmSelect(); // 记录客户端发送消息的序号1、2、...原创 2015-11-30 13:53:31 · 2509 阅读 · 0 评论 -
rabbitmq-exclusive queue
转自:http://www.cnblogs.com/rader/archive/2012/06/28/2567779.html 如果你想创建一个只有自己可见的队列,即不允许其它用户访问,RabbitMQ允许你将一个Queue声明成为排他性的(Exclusive Queue)。 该队列的特点是: 只对首次声明它的连接(Connection)可见 会在其连接断开的时候自动删除。...原创 2015-11-30 13:53:21 · 1577 阅读 · 0 评论 -
rabbitmq-queueDelete
当客户端channel把消费者和queue绑定,然后channel再把queue删掉时,这个事件是可以监听到的: private final String queue = "cancel_notification_queue"; public void testConsumerCancellationNotification() throws IOException, ...原创 2015-11-30 13:53:13 · 1744 阅读 · 0 评论 -
rabbitmq-consumer-x-priority
参考:http://www.aichengxu.com/view/37900 如果是一个队列只希望一个消费者进行处理,那么定义队列的时候可以指定时独占模式:exclusive 如果是一个队列由多个消费者,但是只希望消息由其中的一个消费者优先进行处理,当这个消费者挂掉的时候,再由其他消费者进行处理的话,可以给消费者设置不同的优先级 从RabbitMQ的3.2版本开始,这个消息代...原创 2015-11-30 13:53:03 · 316 阅读 · 0 评论 -
rabbitmq-BasicQos
转自:http://www.cnblogs.com/haoxinyue/archive/2012/10/01/2709644.html QoS = quality-of-service, 顾名思义,服务的质量。通常我们设计系统的时候不能完全排除故障或保证说没有故障,而应该设计有完善的异常处理机制。在出现错误的时候知道在哪里出现什么样子的错误,原因是什么,怎么去恢复或者处理才是真正应该去做...原创 2015-11-29 18:01:19 · 4817 阅读 · 0 评论 -
rabbitmq-BasicReject
转自:http://www.cnblogs.com/haoxinyue/archive/2012/10/01/2709644.html 拒收,是接收端在收到消息的时候响应给RabbitMQ服务的一种命令,告诉服务器不应该由我处理,或者拒绝处理,扔掉。接收端在发送reject命令的时候可以选择是否要重新放回queue中。如果没有其他接收者监控这个queue的话,要注意一直无限循环发送的危险。 ...原创 2015-11-29 17:59:18 · 9134 阅读 · 0 评论 -
rabbitmq-rpc
转自:http://backend.blog.163.com/blog/static/2022941262014315104836716/ 在发送消息的时候也能够带上一些属性,以支持类似rpc的功能。在rabbitmq文档例子里,实现rpc功能实际上就是client发送带属性的消息,属性中包含回调tmp_queue名和用于标示该消息的correlationId。server端收到消息后从属性中...原创 2015-11-29 17:53:15 · 121 阅读 · 0 评论 -
rabbitmq-confirm和transaction
转自:http://backend.blog.163.com/blog/static/2022941262014315104836716/ 持久化消息,但是并不能完全保证消息不回丢失(不会每次接收到消息都fsync(2)),要保证消息不丢失,可以采用该方法 //开启事务 channel.txSelect(); //发送内容 channel.basicPublish("topic", ...原创 2015-11-29 17:51:59 · 215 阅读 · 0 评论 -
rabbitmq-queueDeclareNoWait
hannel.queueDeclareNoWait(queue_name, false, true, true, null); 声明队列,但是无序broker返回任何消息。 同时exchange声明时,也可以使用no-wait: channel.queueDeclareNoWait(q, false, true, true, null); 绑定时也可以no-wait: c...原创 2015-12-02 16:18:13 · 1141 阅读 · 0 评论