当前位置: 首页 > 知识库问答 >
问题:

如何在spring集成中动态创建ftp适配器?

孟承嗣
2023-03-14

如何在我的项目中动态创建入站适配器以轮询和检索服务器中的文件?

共有1个答案

慕阳平
2023-03-14

如果允许您在项目中使用第三方库的非“通用可用性”(GA)版本(例如,版本候选(RC)或里程碑(M),那么您可以使用Spring Integration的版本5.0.0.m2。这是最新出版的版本,截至2009年3月'17。

5.0开始,Spring Integration包含Java DSL运行时流注册特性。它允许您像在标准bean中那样定义集成流(包括入站适配器),但它可以在任何运行时时刻完成。

您只需使用以下三个步骤:

    null
  @Autowired
  public MyClass(IntegrationFlowContext flowContext) {
    this.flowContext = flowContext;
  }
  IntegrationFlowRegistration registration = flowContext
      .registration(IntegrationFlows   // this method accepts IntegrationFlow instance
                        .from(s -> s.ftp(ftpSessionFactory())
                                    .localFilter(localFileFilter())
                        //other actions
                        .get())        // standard end of DSL flow building process
      .autoStartup(true)               // not required but can be useful
      .register();                     // this makes the flow exist in the context
// retrieve registration ID from the object created above
String dynamicFlowRegistrationId = registration.getId();
// the following will also gracefully stop all the processes within the flow
flowContext.remove(dynamicFlowRegistrationId);
 类似资料:
  • 我有一个Web服务,每个版本将有多个版本和多个类。我想在启动时动态创建服务激活器,这样我就可以减少配置量,从而更容易维护。开发人员可以放入一个新类,SI会自动拾取它。 我编码了一个Application Listener: 稍后在路由器中,我有以下代码: 但当路由器尝试路由时,我会出现以下错误: 我该怎么做?我需要动态创建服务激活器,并在以后将消息路由到这些激活器。 没有办法在ServiceAct

  • 当我向主题“Test19”发送任何消息时,配置的ServiceActivator“ProcessMessage”方法将两条消息显示为配置的两个客户,但这里的问题是,在添加到消费者上下文之前,我需要为每个客户加载入站配置文件…否则,我只能在控制台中得到一条消息…是正确的方式还是我需要在这里改变什么? 谢了。

  • 目前在我们的项目中,我们正在使用spring框架。由于一些项目需求,我们计划在我们的项目中实现Spring集成框架。 我打算抛出Spring集成示例(Spring集成Rest HTTP路径使用演示)应用程序 下面是应用程序Context-http-int.xml文件 根据我的理解,流程就像当输入通道中有消息时,员工搜索服务将被激活。但是根据我们的项目要求,我们需要在运行时根据一些头值激活服务,比如

  • 我正在使用Spring集成文件/sftp模块,如何避免下载部分文件?我无法控制将文件推送到ftp/sftp的外部进程。

  • 我发现了一个xml配置的入站适配器示例,但我并不完全理解。配置指定REST请求设置请求方法、使用的格式等。 我认为,从Spring集成的角度来看,响应应该更加重要,因为响应实际上是为消息通道提供信息的。我说得对吗? HTTP入站适配器用作消息endpoint(实际上是消息起始点),它调用HTTP请求,例如REST服务的URL。”http://myRest/transfer/next“-向SI消息通

  • 这里排着队 但我用 使用请求/响应体系结构。它确实工作得很好,因为它提供了动态路由,手动创建tcp客户端。