有人可以帮我理解静态队列和动态队列之间的区别吗?

时间:2015-09-28 17:04:43

标签: activemq message-queue ibm-mq


在我处理Message-Queue时,我遇到了静态队列动态队列这个词。 任何人都可以告诉我差异吗?

1 个答案:

答案 0 :(得分:5)

静态队列是提前定义的队列,队列定义在环境中持续存在。

根据需要创建动态队列。其中IBM MQ有两种变体。根据需要创建临时动态队列,并在创建它的程序断开连接时删除。永久动态队列是按需创建的,但在创建它的程序断开连接后会在环境中持续存在。

例如,临时动态队列对于捕获请求/回复方案中的回复非常有用。只要连接的应用程序发出请求,队列就会存在。当程序断开连接时,队列就会消失,因此管理员无需手动清理它。

永久动态队列对持久订阅等用途很有用。创建订阅时,队列必须是唯一的,并且必须提前定义它的开销过大。因此,我们让应用程序动态创建它,但在程序脱机时让队列挂起以收集出版物。通常,应用程序会在不再需要时删除队列,以便管理员不需要。