微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将动态目录添加到 RotatingServerAdvice Spring 集成

如何解决将动态目录添加到 RotatingServerAdvice Spring 集成

我正在尝试使用 RotatingServerAdvice 从多个资源中轮询新文件我有一个新要求,即对于每个新客户端,都在 sftp 服务器中创建一个新目录,我也想将该目录添加到轮询中。所以我将使用 int-sftp:outbound-gateway 查询所有目录并检查是否创建了新目录,然后将新目录添加到关键目录中。有可能吗?谢谢。

@Bean
public RotatingServerAdvice advice() {
  List<RotationPolicy.KeyDirectory> keyDirectories = new ArrayList<>();
  keyDirectories.add(new RotationPolicy.KeyDirectory("one","foo"));
  keyDirectories.add(new RotationPolicy.KeyDirectory("one","bar"));
  keyDirectories.add(new RotationPolicy.KeyDirectory("two","baz"));
  keyDirectories.add(new RotationPolicy.KeyDirectory("two","qux"));
  keyDirectories.add(new RotationPolicy.KeyDirectory("three","fiz"));
  keyDirectories.add(new RotationPolicy.KeyDirectory("three","buz"));
  return new RotatingServerAdvice(delegatingSf(),keyDirectories);
}

解决方法

使用默认的 StandardRotationPolicy 是不可能的;您需要提供自定义 RotationPolicy

/**
 * Construct an instance that rotates according to the supplied
 * {@link RotationPolicy}.
 * @param rotationPolicy the policy.
 */
public RotatingServerAdvice(RotationPolicy rotationPolicy) {
    Assert.notNull(rotationPolicy,"'rotationPolicy' cannot be null");
    this.rotationPolicy = rotationPolicy;
}

您可能可以从 StandardRotationPolicy 作为模型开始。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?