rabbitmq多使用者和多发布者
希望了解rabbitmq多个发布者和使用者的行为。 rabbitmq服务器是否在同一时间向任何一个使用者发送一条消息,而其他使用者在该时间是理想的 或 使用者从队列中选择任何无人看管的消息,以便一次有多个使用者在使用队列中的消息rabbitmq多使用者和多发布者,rabbitmq,Rabbitmq,希望了解rabbitmq多个发布者和使用者的行为。 rabbitmq服务器是否在同一时间向任何一个使用者发送一条消息,而其他使用者在该时间是理想的 或 使用者从队列中选择任何无人看管的消息,以便一次有多个使用者在使用队列中的消息 基本上,我正在设计一个数据库队列,一次不希望有多个插入。队列中的消息将仅传递给一个使用者。Ie:一旦消息到达队列,它就不会被复制(广播)到多个消费者 如果你想做广播,你必须使用多个队列 有关详细信息,请参见本教程: 是的,RabitMQ支持多个发布者和使用者 多出版商
基本上,我正在设计一个数据库队列,一次不希望有多个插入。队列中的消息将仅传递给一个使用者。Ie:一旦消息到达队列,它就不会被复制(广播)到多个消费者 如果你想做广播,你必须使用多个队列 有关详细信息,请参见本教程:
是的,RabitMQ支持多个发布者和使用者
ConnectionFactory FACTORY = new ConnectionFactory
FACTORY.setUsername(“来宾”)
FACTORY.setPassword(“guest”)
FACTORY.setVirtualHost(“\”)
工厂设置端口(5572)
FACTORY.setHost(“localhost”)
连接=工厂.newConnection
Channel=connection.createChannelchannel.basicPublish(EXCHANGE_NAME, "Queue1", MessageProperties.PERSISTENT_TEXT_PLAIN, "msg1".getBytes)
channel.basicPublish(EXCHANGE_NAME, "Queue2", MessageProperties.PERSISTENT_TEXT_PLAIN, "msg2".getBytes)
这两条消息将根据路由密钥发布到单独的队列,如queue1和queue2所述
2.多重消费者
对于多个使用者,我们声明一个队列并绑定到一个特定的路由密钥
发送到该路由密钥的消息将发布到受尊重的队列
channel.exchangeDeclare(EXCHANGE_NAME, "direct", durable)
channel.queueDeclare("q1", durable, false, false, null)
channel queueBind ("q1", EXCHANGE_NAME,"queue1")// routing key = "queue1"
val q1Consumer = new QueueingConsumer(channel)
channel basicConsume ("q1", false, q1Consumer)
这样,您就可以使用第一个队列中的消息
第二个队列也是如此,但将路由密钥指定为“queue2”
channel.exchangeDeclare(EXCHANGE_NAME, "direct", durable)
channel.queueDeclare("q2", durable, false, false, null)
channel queueBind ("q2", EXCHANGE_NAME,"queue2") // routing key = "queue2"
val q2Consumer = new QueueingConsumer(channel)
channel basicConsume ("q2", false, q2Consumer)