Spring AMQP 1.6.0 发布候选版本 (以及 1.5.6) 可用

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

我们很高兴地宣布,Spring AMQP 1.6 发布候选版本 (1.6.0.RC1) 现在可在 Spring 里程碑仓库 中获得。

1.5.6维护版本也已发布,其中包含一些 错误修复

以下是 1.6.0 版本内容摘要,更多详细信息,请参考参考文档中的 新增功能 ,以及 此版本的已关闭 JIRA 问题

  • 一个新的 jar 包 spring-rabbit-test 包含一个测试工具,可以帮助测试 @RabbitListener 方法;参见 测试章节

  • 在一个方法上使用多个 @RabbitListener 注解(当使用 Java 8 时)和 @RabbitListeners 注解(对于 Java 8 之前的版本),每个注解都允许同一个方法作为多个监听器容器的监听器方法。

  • 完全支持 延迟消息交换 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 社区中所有即将举行的活动。

查看全部