草庐IT

Rabbitmq

全部标签

php - 将消息 TTL 设置为一小时 RabbitMQ

如何设置消息TTL(不是队列)Exchange(交换发送到多个队列)消息(发布消息时)队列(在队列本身上,但同样这是消息TTL而不是队列TTL)我正在运行RabbitMQ3.x、Symfony2.1.x和RabbitMqBundle.我尝试过的:当我从RabbitMQ管理UI创建队列时设置消息TTL我将消息属性设置为'x-message-ttl'=>3600000。在RabbitMQ配置中,它看起来像这样:{"name":"blah_queue","vhost":"foobar","durable":true,"auto_delete":false,"arguments":{'x-me

php - PHP 无状态 Web 应用程序中的持久多节点事件

我正在构建一个将跨多个节点运行的OOPHP应用程序,并且本质上是相对无状态的,我需要实现适当的发布者-订阅者(http://en.wikipedia.org/wiki/Observer_pattern/http://sourcemaking.com/design_patterns/Observer/php)样式事件。我的问题是,我该如何处理事件?在我的应用程序中,我们使用了Cassandra、Redis、Mongo和RabbitMQ等技术。我知道PHP有一个可用的事件扩展,但据我所知,它停留在状态内-或者如果利用了诸如memcached之类的东西,它可能会在该节点内使用......但是

PHP 客户端无法连接到本地主机上的 RabbitMQ 服务器

操作系统:CentOS6.4我正在尝试使用php客户端连接到RabitMQ服务器,如下所示,$connection=newAMQPConnection('10.1.150.109',5672,'guest','guest');$channel=$connection->channel();但是当我从浏览器运行脚本时,它给了我这个,/var/www/html/event/vendor/videlalvaro/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php中的异常“PhpAmqpLib\Exception\AMQPRuntimeException”和

php - 如何将生产者作为服务注入(inject) RabbitMQBundle 消费者?

我必须修改一个用Symfony和RabbitMQ开发的php系统作为一个队列系统。我没有直接使用RabbitMQ与PHP的绑定(bind),而是使用Symfony的RabbitMQBundle。我的问题是我不知道如何发布来自消费者的消息。是的,我知道,消费者旨在消费消息,而不是发布消息。但是我有一个多步骤的工作流,我需要在处理完一些以前的消息后发布新消息。Symfony的“魔力”让我无法发现一切是如何连接的。我一直在阅读有关服务的信息,但据我所知,“生产者”并未在任何地方声明为服务,在我的特殊情况下,我没有为每个人使用特定的类,而只是将名称绑定(bind)到RabbitMq交流。在我的

java - JMSException InterruptedIOException - 生产者线程被中断

我收到JMS异常,队列似乎没有退出或没有完成任务。消息是异步的,大部分时间都可以正常工作,但有时会出现异常。似乎听众一直在听另一边,但在生产者那边得到了这个异常。javax.jms.JMSException:java.io.InterruptedIOExceptionatorg.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)atorg.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:

java - RabbitMQ 消息签名

我想使用RabbitMQ在部署在不同网络上并由不同人员维护的多个应用程序之间进行通信。作为消息的接收者(消费者),我想确信消息的发送者(生产者)就是他声称的那个人。我能想到的最佳方法是对这些签名进行消息签名和验证。由于这是我第一次使用RabbitMQ做一些事情,所以我对如何实现它有些困惑。消息发送者和接收者是Java应用程序。我决定使用SpringAMQP模板来让事情对我来说更容易一些。在一个完美的场景中我想在消息已经是字节数组/流时以某种方式拦截消息,签署这个blob并将签名附加为消息头。在接收端,我再次想在反序列化之前拦截消息,验证来自header的签名与blob的对比,如果一切正

java - 同时使用 ActiveMQ 和 RabbitMQ

根据我使用消息代理的经验,RabbitMq在重负载下具有更好的性能。但是,为了简单起见,最好在浏览器中使用AtiveMQ。我想知道是否可以同时使用它们?此外,有什么办法可以让我在浏览器中使用ActiveMQ发送消息并在服务器端使用RabbitMQ接收相同的消息?如果有人向我推荐有用的示例代码,我将不胜感激。 最佳答案 ActiveMQ可以使用AMQP1.0,RabbitMQ可以使用AMQP1.0plug-in.您可以使用此协议(protocol)创建网桥。但是阅读您的问题,我认为您不需要ActiveMQ。为了将消息发送到浏览器,您可

java - RabbitMQ - Apache Camel Reading Messages 如何处理失败的消息

我有以下PHP应用程序。将用户注册发布到消息队列。Java应用程序从该队列中读取并导入它。希望下图能够描述它。我只处理Java方面的事情。json消息已经存在于队列中。路由(Java消费端)。@ComponentpublicclassSignUpRouting{errorHandler(deadLetterChannel("rabbitmq://signUpDeadLetter.exchange?username=etc..").useOriginalMessage());from("rabbitmq://phpSignUp.exchange?username=etc....").ro

java - Spring AMQP (Rabbit) 监听器在异常情况下进入循环

@BeanRabbitTemplaterabbitTemplate(){RabbitTemplatetemplate=newRabbitTemplate(rabbitConnectionFactory());template.setMessageConverter(messageConverter);template.setExchange(amqpProperties.getRabbitMqTopicExchangeName());returntemplate;}@Bean@Conditional(OperationsCondition.class)SimpleMessageList

java - 使用 Spring Cloud Stream 将 RabbitMQ 消费者绑定(bind)到现有队列

我使用RabbitMQ网络用户界面创建了一个主题交换TX并绑定(bind)到交换两个队列TX.Q1和TX.Q2,每个都与路由键rk1和rk2相应地绑定(bind),并向交换生成少量消息。现在我想使用SpringCloudStream创建一个消费者,它只会从Q1获取消息。我尝试使用配置:spring.cloud.stream.bindings.input.destination=TXspring.cloud.stream.bindings.input.group=Q1以及消费消息的方法的注解@StreamListner(Sink.INPUT)。结果我可以看到消费者创建了一个同名队列(或绑