Spring Integration 4.3 M2 已发布

发布 | Artem Bilan | 2016 年 4 月 26 日 | ...

我很高兴地宣布 Spring Integration 4.3.0.M2 现在可以从 Spring 里程碑仓库 获取。 此版本关闭了大约 50 个 JIRA,并包含了近 100 个 提交

感谢所有贡献者。 特别是 Spring Cloud Stream 团队,他们对 Spring Integration 的全面使用影响了项目的方向。

第一个里程碑 以来的一些关键特性

  • 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 现在支持 Lazy-Load 算法(默认启用)来检索 MessageGroup。 在处理具有聚合等操作的大型持久化组时,这会产生显着的性能优势。

  • Service Activator 现在支持 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() 功能。

有关所包含更改的完整信息,请参阅 新增功能JIRA 发布说明

我们预计将在 5 月中旬发布最终候选版本,并在 5 月底发布。

所以现在是您请求您认为框架中缺少任何喜爱功能的最后机会。 接下来 (2017) 是需要 Java 8 的 5.0。

我们欢迎使用常用机制提出的任何反馈、问题或帮助

项目页面 | JIRA | 贡献 | 帮助

如果您碰巧参加今年 5 月在巴塞罗那举行的 Spring I/O 会议,请不要错过 Gary Russel 的演讲,主题是 Spring Integration 与 Spring Boot。 此外,SpringOne Platform(8 月初,拉斯维加斯)的注册最近已经开放,如果您想享受早鸟票价,可以注册。 您将能够在那里见到 Gary 和我,讨论 Spring Integration 中的一些新内容!

获取 Spring 新闻简报

与 Spring 新闻简报保持联系

订阅

更进一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部