Spring AMQP 1.6.0 Release Candidate (和 1.5.6) 现已发布

发布 | Gary Russell | 2016年5月6日 | ...

我们很高兴地宣布 Spring AMQP 1.6 release candidate (1.6.0.RC1) 现已在 spring milestone repo 上提供。

1.5.6 维护版本也已发布,包含 一些 bug 修复

这是 1.6.0 版本内容的摘要,更多详情请参阅参考文档中的 新功能介绍 以及 此版本的已关闭 JIRA 问题

  • 新增了一个 jar 文件 spring-rabbit-test,其中包含一个测试套件,用于帮助测试 @RabbitListener 方法;请参阅 测试章节

  • 方法上支持多个 @RabbitListener 注解(使用 Java 8 时)以及 @RabbitListeners 注解(Java 8 之前),允许同一方法成为多个监听器容器的监听器方法。

  • 完全支持 延迟消息交换(Delayed Message Exchange) RabbitMQ 插件。

  • AsyncRabbitTemplate 返回 ListenableFuture<?> 用于请求/回复消息。

  • 提供一个选项,当监听器容器空闲时发布 ApplicationEvents

  • 缓存连接工厂现在公开缓存统计信息。

  • @RabbitListener 方法现在将类型信息传递给消息转换器以进行入站消息处理。这意味着,例如,当收到没有消息头类型信息的消息时(例如,来自非 Spring AMQP 应用程序的发送者),Jackson2JsonMessageConverter 不再需要自定义类映射器。取而代之的是,在转换中使用 @RabbitListener 方法参数类型。此外,Methodbean 也通过消息属性提供给自定义转换器。

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(
		ConnectionFactory rabbitConnectionFactory) {
	SimpleRabbitListenerContainerFactory factory = 
             new SimpleRabbitListenerContainerFactory();
	factory.setConnectionFactory(rabbitConnectionFactory);
	factory.setMessageConverter(new Jackson2JsonMessageConverter());
	return factory;
}

public static class MyService {

	@RabbitListener(queues="foos")
	public void handleFoos(Foo foo) {
	    ...
	}

	@RabbitListener(queues="lists.of.bars")
	public void handleBarLists(List<Bar> bars) {
            ...
	}
}
  • @RabbitListener 的不可恢复错误现在被默认错误处理器视为致命错误,以避免此类消息的无休止重发。

  • @RabbitListener @SendTo 地址(当入站消息没有 replyTo 时使用)现在可以包含一个 SpEL 表达式,该表达式将在运行时针对输入和输出消息进行评估。

  • 在使用 Java 序列化消息时,现在可以为反序列化指定允许的类/包的“白名单”。当从不受信任的源接收序列化对象时,建议这样做。

  • 现在可以声明“内部”交换器,消息不能直接发布到这些交换器。

  • 日志附加器现在可以配置多个代理地址,并且可以设置客户端属性。

  • @QueueBinding 注释现在支持队列、交换器和绑定的参数。

我们预计将在五月底发布最终版本。

请下载并试用发布候选版本,以便我们在 GA 之前解决任何问题。接下来(2017 年)是 2.0 版本,它可能需要 Spring 5 并包含一些响应式流(Reactive Streams)的努力。

我们欢迎通过常规渠道提出的任何反馈、问题或帮助。

项目页面 | JIRA | 贡献 | 帮助

即将举行的会议

请务必注册参加 Spring I/O 大会,您可以在会上了解 Spring 的最新和最棒的功能。

另外,SpringOne Platform 也即将来临!

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有