Spring Integration 4.3.0候选版本发布

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

我很高兴地宣布Spring Integration 4.3.0.RC1(第一个也是最后一个)候选版本的发布,您可以从Spring里程碑仓库获取。Spring Framework 4.3正式版发布后,GA版本也将很快发布。

4.2.6.RELEASE版本也已在Spring发布仓库和Maven Central中提供。此版本包含一些重要的错误修复,建议所有用户升级到此版本。

4.3只是一个小版本,它在4.2的基础上增加了一些新功能和改进,并将结束4.x系列。与此同时,我们期待在Spring Integration 5.0中采用JVM的响应式基础。我们尚未确定这到底意味着什么,敬请期待!此外,5.0(2017年)将包含(当前独立的)Spring Integration Java DSL

以下是此版本的亮点(其中一些在之前的里程碑版本中已经宣布)

先前已宣布

  • HeaderMapper添加了negate选项,允许使用逻辑非!排除请求和/或回复头。(例如,!foo,* - 映射除foo之外的所有头)。

  • ErrorMessageExceptionTypeRouter提供Exception超类映射,以避免不同继承者的映射重复。

  • FTP适配器中的list()listNames()函数现在支持null远程目录,以便在列出当前工作目录时符合标准FTP协议支持。

  • Redis队列适配器中可以更改Redis列表推送/弹出操作的方向。

  • FileWritingMessageHandler支持文件名中的子路径,允许在本地还原目录结构,例如在解压之后。

  • 升级到Smack-4.1.x。

  • 升级到Spring AMQP 1.6,支持其新功能,例如延迟消息交换。

  • Spring Integration运行时对象模型与组件指标一起现在可以作为graph公开,可用于可视化集成应用程序的当前状态。在Web容器中运行时,@EnableIntegrationGraphController注解与IntegrationGraphServer bean一起创建一个服务,用于通过REST协议(例如JSON表示法)检索模型和状态。

{
  "nodes": [
    {
      "nodeId": 1,
      "name": "nullChannel",
      "componentType": "channel",
    },
    {
      "nodeId": 2,
      "name": "errorChannel",
      "componentType": "publish-subscribe-channel",
    },
    {
      "nodeId": 3,
      "name": "_org.springframework.integration.errorLogger",
      "componentType": "logging-channel-adapter",
      "output": null,
      "input": "errorChannel"
    }
  ],
  "links": [
    {
      "from": 2,
      "to": 3
    }
  ]
}

秉承Spring Integration的传统,消息通道在此模型中作为一等公民(节点)表示,而不仅仅是节点之间的链接。此外,当启用统计信息(@EnableIntegrationManagement<int:management />)时,对象图中的每个节点都包含这些统计信息(消息计数、响应时间等)。(自上次里程碑版本发布以来,图形已得到一些改进,包括:支持链 - 处理程序列表,

  • 持久化MessageStore现在支持用于MessageGroup检索的Lazy-Load算法(默认启用)。在处理大型持久化组以及聚合等操作时,这会带来显著的性能提升。

  • 服务激活器现在支持async选项。如果服务返回ListenableFuture<?>并且asynctrue,则调用线程会立即释放,并且回复消息会在完成future的线程(来自您的服务)上发送。基于此基础,我们还提供了AsyncAmqpOutboundGatewayJmsOutboundGatewayasync模式,其中下游流程在回复侦听器容器线程上运行。

  • XMPP适配器现在支持Extensions(XEP)。因此,例如,您可以更轻松地与Google Cloud Messaging (GCM)进行交互。

<int-xmpp:inbound-channel-adapter id="xmppInboundAdapter"
    payload-expression="getExtension('google:mobile:data').json"/>
...
<bean id="gcmExtensionProvider" class="org.jivesoftware.smackx.gcm.provider.GcmExtensionProvider"/>

<int-xmpp:outbound-channel-adapter id="xmppOutboundAdapter"
    extension-provider="gcmExtensionProvider"/>
  • Groovy脚本现在可以使用compile-staticcompiler-configuration进行配置,以提高性能或为目标AST提供一些特殊的自定义。

  • WatchServiceDirectoryScanner进行了多项改进。其逻辑已通过use-watch-service标志直接移动到FileReadingMessageSource。此外,我们可以指定要监听目录树上的WatchEventType。此外,StandardWatchEventKinds.ENTRY_DELETE事件被视为ResettableFileListFilter.remove()操作,例如从AcceptOnceFilteListFilter中删除文件。

  • 已实现更多通道延迟绑定的情况。例如,在WireTap中,这导致了

Spring Integration Java DSL中的MessageChannelSpec.wireTap()功能。

此RC中的新增功能

  • FTP/SFTP入站通道适配器现在可以支持文件的直接流式传输,避免复制到本地文件系统。

  • TCP反序列化器现在可以配置为使用缓冲池。

  • 各种小的修复和改进。

此版本解决了125多个JIRA问题。另请参见新增功能,了解主要更改的摘要。我们非常感谢项目中许多外部贡献者的贡献 - 谢谢大家!

项目页面 | JIRA | [贡献] (https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.md) | StackOverflowspring-integration标签)

如果您参加在巴塞罗那举行的Spring IO大会,我将在5月20日星期五讨论Spring Integration和Spring AMQP。Spring团队成员还有许多其他精彩的演讲,请查看议程

这也提醒您,Spring One Platform将于今年8月1日至4日在拉斯维加斯举行,如果您还没有这样做,应该考虑购买门票

获取Spring新闻通讯

通过Spring新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部