如何以编程方式创建 Spring FtpOutboundChannelAdapter?
How to programmatically create a Spring FtpOutboundChannelAdapter?
我有一个 spring 引导应用程序,我正在尝试坚持使用仅 Java 配置。不要问我这种方法的优缺点。我只是不想将配置拆分为 Java 和 XML。我正在使用 Spring 集成并尝试通过 FTP 发送文件。在 XML 世界中它看起来像
<int:channel id="pickupChannel"/>
<bean id="ftpSessionFactory"
class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory"> ... />
<int-ftp:outbound-channel-adapter id="ftpOutputChannel"
channel="pickupChannel"
session-factory="ftpSessionFactory" ... />
我可以毫不费力地创建 DefaultFtpSessionFactory,但是 我找不到 class 来实例化 FtpOutboundChannelAdapter。该适配器 class 似乎不存在。 我能找到的最接近的是 FtpOutboundChannelAdapterParser。但这是在寻找一些 XML 来解析。在这里实例化的底层 class 是什么?我错过了什么吗?似乎 Spring 正在寻找一个 XML 定义的 bean。 spring-boot 是否还没有为此 Spring 集成 bean 准备好?
感谢任何帮助。
安德鲁
参见。从 4.0 版开始,任何 MessageHandler
都可以使用 @ServiceActivator
.
配置
在这种情况下,处理程序是 FileTransferringMessageHandler
并且需要配置适当的 FtpRemoteFileTemplate
。
需要会话工厂。
pickupChannel
将是 DirectChannel
.
编辑:
您还应该看看 Java DSL which has first class support for FTP. Take a look at the reference docs。
具体见this test case。
我有一个 spring 引导应用程序,我正在尝试坚持使用仅 Java 配置。不要问我这种方法的优缺点。我只是不想将配置拆分为 Java 和 XML。我正在使用 Spring 集成并尝试通过 FTP 发送文件。在 XML 世界中它看起来像
<int:channel id="pickupChannel"/>
<bean id="ftpSessionFactory"
class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory"> ... />
<int-ftp:outbound-channel-adapter id="ftpOutputChannel"
channel="pickupChannel"
session-factory="ftpSessionFactory" ... />
我可以毫不费力地创建 DefaultFtpSessionFactory,但是 我找不到 class 来实例化 FtpOutboundChannelAdapter。该适配器 class 似乎不存在。 我能找到的最接近的是 FtpOutboundChannelAdapterParser。但这是在寻找一些 XML 来解析。在这里实例化的底层 class 是什么?我错过了什么吗?似乎 Spring 正在寻找一个 XML 定义的 bean。 spring-boot 是否还没有为此 Spring 集成 bean 准备好?
感谢任何帮助。 安德鲁
参见MessageHandler
都可以使用 @ServiceActivator
.
在这种情况下,处理程序是 FileTransferringMessageHandler
并且需要配置适当的 FtpRemoteFileTemplate
。
需要会话工厂。
pickupChannel
将是 DirectChannel
.
编辑:
您还应该看看 Java DSL which has first class support for FTP. Take a look at the reference docs。
具体见this test case。