在成功将源文件传输到目标目录后,不会从s3存储桶中删除源文件。 步骤1.使用入站流通道适配器将源文件从S3流到本地目录。(工作正常) 第2步:要在成功传输后删除源文件(不起作用) 配置代码如下
#include <stdio.h>
int main(int argc, char **argv)
{
int i;
char f[128];
unsigned char ch;
if (argc != 2) {
printf("use : ./a.out str");
return -1;
}
for (i = 0; i != sizeof(f); ++i)
f[i] = 0;
for (i = 0; argv[1][i] != '\0'; ++i) {
ch = argv[1][i];
if (f[ch] == 0) {
putchar(ch);
f[ch] = 1;
}
}
return 0;
}
此致
答案 0 :(得分:0)
由于您在那里使用了<integration:stream-transformer>
,因此我认为没有理由依赖<int-aws:s3-inbound-streaming-channel-adapter>
。使用第一个,您只需消除最后一个的流式传输目的。
我建议您看看常规的<int-aws:s3-inbound-channel-adapter>
,它已经有一个delete-remote-files="true"
选项。
另一方面,您仍然可以使用目前的功能来执行此操作,但是您需要使用<integration:outbound-channel-adapter expression="@s3SessionFactory.getSession().remove(headers[file_remoteDirectory] + '/' + headers[file_remoteFile])">
之类的东西。
这些标头由AbstractRemoteFileStreamingMessageSource
填充。