19.6. 避免反模式


  • 尽可能重复使用连接、会话、消费者和制作者。

    最常见的消息传递反模式是为发送或消耗的每条消息创建新连接、会话和制作者。这些对象需要时间创建,并可能需要多次网络往返,这对资源的使用不佳。

    注意

    Spring JMS 模板等一些流行的库使用这些反模式。如果您使用 Spring JMS 模板,您可能会看到性能不佳。Spring JMS 模板只能安全地在缓存 JMS 会话的应用服务器中使用,例如使用 Java Connector 架构,然后仅用于发送消息。即使在应用服务器中,它也无法安全地使用消息。

  • 避免 fat 消息。

    详细格式(如 XML)会占用线线上的大量空间,因此性能会受到影响。如果需要,请避免消息正文中的 XML。

  • 不要为每个请求创建临时队列。

    这种常见的反模式涉及临时队列请求响应模式。使用临时队列请求响应模式时,会将消息发送到目标,并使用本地临时队列的地址设置回复标头。当接收者收到消息时,它们处理它,然后发回一个响应到 reply-to 标头中指定的地址。使用这个模式的常见错误是在每个发送的消息上创建新的临时队列,这大大降低了性能。相反,应该对许多请求重复使用临时队列。

  • 除非必要,否则不要使用消息驱动的 Bean。

    使用消息驱动的 Bean 使用简单的 JMS 消息使用者来消耗消息的速度比消耗消息要慢。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat