跳至主内容

RabbitMQ Java 客户端 4.0 发布

·3 分钟阅读

RabbitMQ 团队很高兴地宣布发布 RabbitMQ Java 客户端 4.0 版本。此新版本不包含任何破坏性更改,并带来了一系列有趣的​​新功能。

新的独立发布流程

从现在开始,Java 客户端将与 broker 分开发布。这将使发布错误修复和新功能更加容易和快捷。

支持 SLF4J 日志记录

SLF4J 现在在 Java 客户端的多个地方用于报告日志消息。它也用于客户端自带的默认异常处理程序实现中。这为应用程序开发人员提供了广泛的日志记录实现选择(例如 LogbackLog4j)以及将日志发送到多种目标的选择(文件,以及特定于日志的协议)。

指标支持

Java 客户端现在可以收集运行时指标,例如已发送和已接收的消息数量。默认情况下,通过 Dropwizard Metrics 库收集指标,但如果您的需求很特殊,收集功能也是可插拔的。使用 Dropwizard Metrics 可以开箱即用地使用许多监控后端:JMX、Spring Boot metrics endpoint、Ganglia、Graphite 等。

一篇单独的博文将深入介绍指标支持。

支持 Java NIO

Java 客户端历来一直使用传统的 Java 阻塞 IO 库(即 Socket 及其 Input/OutputStream)。这已经工作多年,但并不适合所有类型的负载。Java NIO 允许一种更灵活但实现更复杂的模型来处理网络通信。长话短说,Java NIO 允许用更少的线程处理更多的连接(阻塞 IO 模式总是需要每个连接一个线程)。

不要将 Java NIO 视为某种涡轮按钮:使用 NIO 不会使您的客户端应用程序更快,如果您使用大量连接,它可能会能够使用更少的线程,仅此而已。

请注意,阻塞 IO 在 Java 客户端中仍然是默认设置,您需要显式启用 NIO。NIO 模式使用合理的默认值,但您可能还需要通过 NioParams 类为您的工作负载进行调整。

默认启用自动恢复

自动恢复已经存在几年了,我们知道许多用户总是启用它,所以我们决定默认启用它。您仍然可以选择不使用它,但需要显式禁用它。

杂项改进和修复

这个新版本还附带了大量的改进和修复。例如,请查看 AddressResolver 接口:它是用于解析您要连接到的 RabbitMQ 主机的抽象。结合自动恢复,您将获得一个健壮的客户端,它可以重新连接到最初启动时甚至未启动的节点。

RabbitMQ Java 客户端 4.0 版本可在 Maven Central(以及我们的 Bintray 仓库)上获取。要使用它,如果您使用 Maven,请添加以下依赖项

<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.0.0</version>
</dependency>

如果您使用 Gradle

compile 'com.rabbitmq:amqp-client:4.0.0'

尽情享受吧!

发布变更

© . This site is unofficial and not affiliated with VMware.