Spring Integration 3.0 第一个候选版本现已发布

发布 | 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_s/属性。
<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 现在可以更新标头以及 payload
  • HTTP 入站端点现在使用 Spring MVC 3.1 RequestMapping - 单个端点现在可以支持多个路径
  • Redis Queue 入站和出站适配器
  • _Gateway_s 现在支持跨所有 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_s 提供
  • 现在可以使用一种机制来通过 TCP 传输选定的 _MessageHeader_s
  • TCP 连接事件入站适配器 - 当连接打开、关闭或发生异常时,现在会发出 _ApplicationEvent_s
<int-ip:tcp-connection-event-inbound-channel-adapter channel="events" />

###常规改进

  • Header Channel Registry - 序列化消息时,现在可以将标头通道(reply, error)保存到注册表中,并在发送回复时根据需要引用该注册表。这可以用来避免 No output-channel or replyChannel header available _ChannelResolutionException_s。
  • 可以注册 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_s 添加到评估上下文中。

  • Redis Metadata Store - 用于存储 feedtwitter 适配器的状态。
  • Configurable MongoDb Message Store - 现在可以使用更灵活的消息存储
  • 内联脚本现在可以具有变量
  • 现在可以使用持久性 AcceptOnceFileListFilter,以防止系统重启时的重复项。

###结论

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

我们将很快发布,因此我们将感谢用户试用此候选版本。

迁移指南中详细介绍了一些迁移注意事项。

谢谢。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

抢先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部