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 注解(对于 pre-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 社区中所有即将举行的活动。

查看全部