RabbitMQ Java Work Queues(工作队列)
本系列教程主要来自于官网入门教程的翻译,内容仅供参考。 官网地址 https://www.rabbitmq.com/tutorials/tutorial-two-java.html 上一篇博客中我们写了通过一个命名的队列发送和接收消息,如果你还不了解请点击: RabbitMQ Java入门 。这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务。 工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成。相反地,我们进行任务调度:我们把任务封装为消息发送给队列。工作进行在后台运行并不断的从队列中取出任务然后执行。当你运行了多个工作进程时,任务队列中的任务将会被工作进程共享执行。 这样的概念在web应用中极其有用,当在很短的HTTP请求间需要执行复杂的任务。 1、 准备 我们使用Thread.sleep来模拟耗时的任务。我们在发送到队列的消息的末尾添加一定数量的点,每个点代表在工作线程中需要耗时1秒,例如hello…将会需要等待3秒。 发送端: NewTask.java import java.io.IOException; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client