嵌入式 BrokerService 与已安装的 ActiveMQ 代理

Embedded BrokerService vs installed ActiveMQ broker

我想知道功能相同还是不同?您能否也提及这两者的优缺点?另请提及嵌入式 BrokerService 与已安装的 ActiveMQ 代理的实际用例。提前致谢!

ActiveMQ 只是一个Java 应用程序,嵌入式版本提供与独立版本基本相同的功能。事实上,您可以将嵌入式代理配置为从 XML 文件中获取其配置,在这种情况下,它看起来与独立代理非常相似。

如果您需要程序化配置的好处,嵌入代理是一个合理的做法;也就是说,您想根据难以在 XML 文件中实现的规则进行配置。如果您希望在代理和应用程序组件之间进行紧密耦合的操作,并且消息数据在内存中传递,这也是有意义的。如果您将 JMS 用作应用程序中的模块间通信机制,则可能会出现这种情况。

嵌入代理有一个缺点——这可能是一个影响深远的缺点——使得很难将代理中的问题与应用程序中的问题区分开来。找出内存消耗失控的原因可能非常困难。如果需要,您可以获得 ActiveMQ 的商业支持,但任何商业组织都很难支持混合代理+应用程序安装。