
rabbitmq
zhongjay
这个作者很懒,什么都没留下…
展开
-
rabbitmq-connection
一、ConnectionFactoryConnectionFactory factory = new ConnectionFactory(); 开启一个连接,默认localhost和默认端口 factory.newConnection(addressAry); 二、newConnection 完整的方法签名:public Connection newConne...原创 2015-11-29 16:37:16 · 567 阅读 · 0 评论 -
rabbitmq-queueDeclarePassive
DeclareOk a = channel.queueDeclarePassive(q);申明队列时,如果q在broker不存在,则会报错:reply-code=404,reply-text=NOT_FOUND 如果存在则会返回ok原创 2015-12-01 09:36:48 · 3892 阅读 · 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 · 1021 阅读 · 0 评论 -
rabitmq-consumer-nextDelivery
QueueingConsumer consumer = new QueueingConsumer(channel);声明一个消费者,然后接收消息。 如果我们直接用这种方式:consumer.nextDelivery()那么当这个consumer没有消息时,线程会阻塞。因为consumer内部是blockqueue,没有数据却取数据时,就会阻塞,知道有数据放进此blockqueu...原创 2015-12-01 09:36:24 · 1828 阅读 · 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 · 696 阅读 · 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 · 1082 阅读 · 1 评论 -
rabbitmq-ConfirmListener
当broker开启confirm时,可以添加此监听器。public void testWaitForConfirms() throws IOException, InterruptedException { // 创建Channel时开启:channel.confirmSelect(); // 记录客户端发送消息的序号1、2、...原创 2015-11-30 13:53:31 · 2545 阅读 · 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 · 1616 阅读 · 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 · 1772 阅读 · 0 评论 -
rabbitmq-consumer-x-priority
参考:http://www.aichengxu.com/view/37900 如果是一个队列只希望一个消费者进行处理,那么定义队列的时候可以指定时独占模式:exclusive如果是一个队列由多个消费者,但是只希望消息由其中的一个消费者优先进行处理,当这个消费者挂掉的时候,再由其他消费者进行处理的话,可以给消费者设置不同的优先级从RabbitMQ的3.2版本开始,这个消息代...原创 2015-11-30 13:53:03 · 347 阅读 · 0 评论 -
rabbitmq-BasicQos
转自:http://www.cnblogs.com/haoxinyue/archive/2012/10/01/2709644.html QoS = quality-of-service, 顾名思义,服务的质量。通常我们设计系统的时候不能完全排除故障或保证说没有故障,而应该设计有完善的异常处理机制。在出现错误的时候知道在哪里出现什么样子的错误,原因是什么,怎么去恢复或者处理才是真正应该去做...原创 2015-11-29 18:01:19 · 4873 阅读 · 0 评论 -
rabbitmq-BasicReject
转自:http://www.cnblogs.com/haoxinyue/archive/2012/10/01/2709644.html拒收,是接收端在收到消息的时候响应给RabbitMQ服务的一种命令,告诉服务器不应该由我处理,或者拒绝处理,扔掉。接收端在发送reject命令的时候可以选择是否要重新放回queue中。如果没有其他接收者监控这个queue的话,要注意一直无限循环发送的危险。...原创 2015-11-29 17:59:18 · 9176 阅读 · 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 · 140 阅读 · 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 · 240 阅读 · 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 · 1163 阅读 · 0 评论