Spring Integration Extension for SMB 0.5.0 已发布

发布 | Artem Bilan | 2017 年 1 月 18 日 | ...

我代表 Spring Integration 团队宣布发布另一个 Spring Integration 扩展。 这次是用于 Server Message Block 的 Spring Integration,其 artifact 是 spring-integration-smb.0.5.0.RELEASE,可在 Release Repository 和 Maven Central 中找到。

该项目已经存在一段时间了,但直到最近才获得足够的社区吸引力来保证发布。 因此,首先要感谢您,社区,感谢您的贡献!

Java CIFS 客户端库已被选为 CIFS/SMB 网络协议的 Java 实现。 其 SmbFile 抽象被简单地包装到 Spring Integration 的“远程文件”基础中,例如 SmbSessionSmbRemoteFileTemplate 等。

SMB 通道适配器和支持类实现与 (S)FTPAWS S3 协议的现有组件完全相似。 因此,如果您熟悉这些组件,那么使用此扩展非常简单。 但无论如何,这里有一些关于现有组件的介绍

SMB 入站通道适配器

为了在本地下载 SMB 文件,提供了 SmbInboundFileSynchronizingMessageSource。 它是 AbstractInboundFileSynchronizingMessageSource 的简单扩展,需要注入 SmbInboundFileSynchronizer。 对于过滤远程文件,您仍然可以使用任何现有的 FileListFilter 实现,但提供了特定的 SmbRegexPatternFileListFilterSmbSimplePatternFileListFilter。 对于 XML 配置,提供了 <int-smb:inbound-channel-adapter> 组件。

SMB 出站通道适配器

对于将文件传输到 SMB,还没有一些 SMB 特定的要求,因此对于 XML <int-smb:outbound-channel-adapter> 组件,我们简单地重用现有的 FileTransferringMessageHandler。 在 Java 配置的情况下,应该为 FileTransferringMessageHandler 提供 SmbSessionFactory (或 SmbRemoteFileTemplate),仅此而已!

@ServiceActivator(inputChannel = "storeToSmb")
@Bean
public MessageHandler smbMessageHandler(SmbSessionFactory smbSessionFactory) {
    FileTransferringMessageHandler<SmbFile> handler =
                new FileTransferringMessageHandler<>(smbSessionFactory);
    handler.setRemoteDirectoryExpression(
                new LiteralExpression("remote-target-dir"));
    handler.setFileNameGenerator(m ->
                m.getHeaders().get(FileHeaders.FILENAME, String.class) + ".test");
    handler.setAutoCreateDirectory(true);
    return handler;
}

我们希望在直接进入 1.0.0.RELEASE 之前听到社区的任何反馈,所以请不要犹豫通过任何可用的沟通渠道与我们联系!

项目页面 | 帮助 | 聊天

获取 Spring 新闻资讯

通过 Spring 新闻资讯保持联系

订阅

抢占先机

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部