Spring Integration 3.0 Release Candidate 1 现已发布

发布 | Gary Russell | 2013 年 11 月 27 日 | ...

我们非常高兴地宣布 Spring Integration 3.0.0.RC1 现已可在 Spring Milestone Repo 中获取。

此版本默认使用 Spring Framework 3.2.5,但也兼容 Spring 3.1.x 和 4.0.x。

自里程碑 3 以来的更改发布说明 在此处

## 首先,关于 Spring Framework 4 支持的说明

Spring Framework 4.0 有一个新的 spring-messaging 模块,其中包含 Spring Integration 的一些关键抽象。

Spring Integration 3 虽然与 Spring Framework 4 兼容,但并不依赖它,也不使用这些类,因此它也可以与 Spring Framework 3.2 和 3.1 一起使用。

我们计划于2014年初发布Spring Integration 4,它将与Spring Framework 4完全兼容(并且**需要**),并以其spring-messaging模块为基础。Spring Framework 4发布后不久将提供一个里程碑版本。

## 3.0版本新增功能

完整的3.0版本“新增功能”可以在参考文档中找到,但这里有一些亮点……

### 新增和修改的端点

  • syslog 入站适配器(UDP 和 TCP)
<int-syslog:inbound-channel-adapter id="foobar" channel="foo" port="1514" />
  • 一个JMX入站适配器,可轮询多个 _MBean_ /属性。
<jmx:tree-polling-channel-adapter id="jmxtree"
		channel="mbeanData"
		auto-startup="false"
		query-name="java.lang:type=Runtime"
		query-expression="*:type=*">
	<si:poller max-messages-per-poll="1" fixed-rate="5000"/>
</jmx:tree-polling-channel-adapter>
  • 文件尾部(tailing)入站适配器
<int-file:tail-inbound-channel-adapter id="tailer"
	channel="lines"
	file="/tmp/baz" />
  • 脚本化入站适配器
  • Content Enricher 现在可以更新标头(headers)和载荷(payload)。
  • HTTP 入站端点现在利用Spring MVC 3.1 RequestMapping - 单个端点现在可以支持多个路径。
  • Redis Queue 入站和出站适配器
  • Gateway 现在支持在所有网关方法中设置通用标头(包括调用的Method)。
<int:gateway id="myGateway"
		service-interface="foo.Bar"
		default-request-channel="requestChannel">
	<int:default-header name="calledMethod"
                        expression="#gatewayMethod.name"/>
</int:gateway>
  • FTP/SFTP 入站适配器可以配置为保留远程时间戳。
  • FTP/SFTP 网关现在支持mv(重命名)、putmput命令;lsmgetmput现在支持递归——允许传输目录树。
  • JPA端点现在可以存储多个(Iterable)实体;此外,还支持flushclear操作。
  • <chain/> 中的元素现在可以有一个id,允许它们作为bean和/或_MBean_可用。
  • 现在有一个机制允许通过TCP传输选定的_MessageHeader_。
  • TCP 连接事件入站适配器 - 当连接打开、关闭或发生异常时,现在会发出_ApplicationEvent_。
<int-ip:tcp-connection-event-inbound-channel-adapter channel="events" />

### 通用改进

  • Header Channel Registry - 在序列化消息时,您现在可以将标头通道(reply, error)保存在注册表中,并在发送回复时根据需要引用注册表。这可以用来避免No output-channel or replyChannel header available _ChannelResolutionException_。
  • SpEL 函数可以注册并提供给所有消息SpEL表达式使用。
<int:spel-function id="foo"
	class="foo.MyUtils" method="evaluate(java.lang.String, java.lang.Object)"/>

<int:transformer input-channel="in" output-channel="out"
		 expression="#foo(headers.bar, payload)" />

提供了两个内置函数:#jsonPath#xpath

自定义_PropertyAccessor_也可以添加到评估上下文中。

  • Redis Metadata Store - 用于存储feedtwitter适配器的状态。
  • 可配置的MongoDb Message Store - 现在有一个更灵活的消息存储。
  • 行内脚本现在可以包含变量。
  • 现在有一个持久化的AcceptOnceFileListFilter,可以防止系统重启后出现重复。

### 结论

请参阅项目页面以获取更多信息以及下载、文档等的链接。

我们将很快发布,因此我们希望用户尝试一下这个发布候选版本。

迁移指南中详细介绍了许多迁移注意事项。

谢谢。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有