java - 如何创建 int 文件 :outbound gateway via Java configuration

标签 java spring-integration

我正在尝试将 XML 中的 file:outbound-gateway 配置转换为 Java 配置,但找不到正确的 API。

XML:

<file:outbound-gateway directory="file:myDir"
    request-channel="inFiles" auto-create-directory="true"
    delete-source-files="true" reply-channel="outFiles">
</file:outbound-gateway>

这是我到目前为止所掌握的 Java 配置。不确定如何设置request-channelreply-channel:

@Bean
public MessageHandler fileOutBoundGateway() {
    FileWritingMessageHandler gateway = new FileWritingMessageHandler(new File("myDir"));
    gateway.setDeleteSourceFiles(true);
    gateway.setAutoCreateDirectory(true);

    // FIXME need to set request and reply channel
    return gateway;
}

最佳答案

请求 channel (inputChannel)是端点的一个选项。在您的情况下,您只有 channelMessageHandler,但仍然没有 endpoint

您只需要service-activator:

@Bean
@ServiceActivator(inputChannel = "input")
public MessageHandler fileOutBoundGateway() {
    FileWritingMessageHandler gateway = new FileWritingMessageHandler(new File("myDir"));
    gateway.setDeleteSourceFiles(true);
    gateway.setAutoCreateDirectory(true);
    gateway.setOutputChannel(outputChannel());
    return gateway;
}

请在 Reference Manual 中查找更多信息。 另请注意Java DSL .

关于java - 如何创建 int 文件 :outbound gateway via Java configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34757589/

相关文章:

java - Spring Integration - 网关 - 拆分器 - 带有 JMS 的聚合器

spring-integration - FTP 入站 channel 适配器的 FTP 问题

java - Java:执行Hadoop MapReduce存在一些问题

java - 如何在Java中使用for循环时打印非对称值

java - recyclerview 项目显示抽屉导航 fragment 中显示空白屏幕

spring - 远程/进程内服务

java - 使用 Spring Integration 5 上的 Spring Integration Java DSL 在入站 channel 上配置目录扫描器

java - 单击通知时将对象传递给通知生成器中的另一个 Activity

java - 简单的 Jdbc 模板。 - 插入和检索 ID

java - Spring 集成: how to read selected messages from a queue