Spring AMQP 1.4 RC1 发布

发布 | Artem Bilan | 2014年10月23日 | ...

我们很高兴地宣布 Spring AMQP 1.4 的候选版本现已可用;GA 版本计划于11月初发布。

首先,感谢所有为1.4 M1 版本提供反馈并提交报告(错误或新功能)的人。特别感谢Stéphane Nicoll,他引入了基于注解的消息监听器(@RabbitListener)和新的RabbitMessagingTemplate

此版本包含的功能和修复(自里程碑版本以来的更改)

  • 使用基于注解的消息监听器,您可以使用@SendTo注解将方法的结果作为回复消息发送(当入站消息中没有replyTo时)
@RabbitListener(queues = "capitalize")
@SendTo("capitalize.reply")
public String capitalize(String s) {
	return s.toUpperCase();
}

(基于注解的监听器需要 Spring Framework 4.1.x)。

  • 引入了新的RabbitMessagingTemplate,允许使用spring-messaging Message<?>抽象作为 Spring AMQP Message 的替代方案(Spring Messaging Message<?> 也受基于注解的监听器支持)。

  • Logback AmqpAppender 现已可用,其配置类似于现有的 Log4j AmqpAppender

<appender name="AMQP" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
	<layout>
		<pattern><![CDATA[ %d %p %t [%c] - <%m>%n ]]></pattern>
	</layout>
	<abbreviation>36</abbreviation>
	<applicationId>MyApplication</applicationId>
	<routingKeyPattern>%property{applicationId}.%c.%p</routingKeyPattern>
	<generateId>true</generateId>
	<charset>UTF-8</charset>
	<durable>false</durable>
	<deliveryMode>NON_PERSISTENT</deliveryMode>
</appender>
  • RabbitTemplate 现在可以使用带有expression属性的AbstractRoutingConnectionFactory,以根据RabbitTemplate操作确定目标ConnectionFactory
<rabbit:template connection-factory="RoutingConnectionFactory"
     send-connection-factory-selector-expression="messageProperties.userId"
     receive-connection-factory-selector-expression="#root == 'fooQueue' ? 'foo' : null"/>
  • 此外,mandatory-expression属性已添加到RabbitTemplate中,用于为每条发送的消息设置mandatory标志。
<rabbit:template connection-factory="connectionFactory"
      mandatory-expression="messageProperties.contentType == 'application/json'"/>

(以前,mandatory是在模板级别设置的)。

  • AbstractRoutingConnectionFactory现在也支持MessageListenerContainer,其中目标ConnectionFactorykey基于配置的queueNames数组。

请参阅发行说明项目页面以了解更多信息。

获取 Spring Newsletter

通过 Spring Newsletter 保持联系

订阅

领先一步

VMware 提供培训和认证,以提升您的进步。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供对OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部