问题标签 [spring-integration-aws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 将重命名的文件作为输入传递给出站适配器/网关
在 spring-boot-integration 应用程序中,编写了一个自定义储物柜以在锁定之前重命名原始文件 (fileToLock.getAbsolutePath() + ".lock") 并预期锁定文件,以便任何其他实例都无法处理相同的文件.
重命名文件时,它会使用包含内容的 filename.lock 创建原始文件和附加文件的内容,原始文件也存在大小为 0 kb 的内容,但没有内容。
出站网关将原始文件作为没有内容的输入并将其路由到目标路径。
想知道如何重命名原始文件,或者如何将重命名的文件 filename.lock 作为输入传递给出站网关/适配器。
自定义文件锁:
amazon-kinesis - Spring Integration Kinesis 适配器和消费者组
spring-integration-aws
我有一个使用version开发的 kinesis 消费者应用程序1.1.0.RELEASE
。
在我的测试中,我在同一个消费者组中运行此应用程序的两个实例,并从具有两个分片的流中消费。在我的测试中,我意识到KinesisMessageDrivenChannelAdapter
会以三种方式分发消息:
- 所有消息传递给一个消费者
- 消息分发给两个消费者(不均匀)
- 两个消费者都收到了相同的消息
从生产者方面来看,消息在两个分片之间均匀分布。我想知道 kinesis 适配器如何在消费者之间分发消息,如果支持,我如何在消费者之间获得均匀分布。
谢谢
更新(适配器配置)
spring - 使用单个入站适配器的多个目录的 NFS 入站适配器配置
在 spring 集成中,我想从不同的源目录(配置的每个接口都有不同的源目录)轮询文件,这些文件在 yml 文件(动态)中配置为 sourcePath,如下所示。用户可以添加 N 个接口。
是否可以使用单个入站适配器(使用原子引用)轮询来自不同源文件夹的文件或需要多个入站适配器?
当前应用程序从基目录轮询文件。
有人可以就此提供建议还是有其他方法也可以实现相同的目标
spring-boot - aws s3 Spring 集成文件修改监视器
我正在寻找 AWS s3 Spring 集成文件修改监视器示例。
要求:每当从 AWS S3 存储桶修改文件时,必须将最新更改从 s3 传输到 EC2 实例。
我们有文件入站适配器的监视事件,但我正在寻找类似的适配器或 s3 操作的逻辑。
我们现在拥有的:
XML配置:
spring - 如何记录空通道
在 spring boot-integration 中,有一个将重命名文件的过滤器,如果实例仅成功重命名文件,它应该继续流程,否则它将被传递到 null 通道。
想记录空通道以查看未成功重命名的文件名。
尝试以下解决方案。但在应用程序启动期间发生异常。你能建议实现这一目标的解决方案吗?
如果为 nullchannel 添加了 logging-channel-adapter 则会出现异常:
spring-boot - Spring boot 加载应用程序上下文失败
有一个 springboot 应用程序,它使用 file-inbound-adapter 从源目录读取文件。为其编写 junit 测试用例。Junit 测试用例在我的本地 Eclipse 中成功执行。但是从部署在另一台机器上的竹子/詹金斯运行它时遇到问题。
执行 spring boot junit 测试用例时无法加载应用程序上下文。'filesInChannel.adapter.source' 原因:java.lang.IllegalArgumentException:源目录 [/filepath] 不存在。
这是什么原因造成的。对此有何建议/建议?是因为竹子部署机器的一些权限问题吗?
为测试用例编写了单独的配置。但不确定为什么它指向原始 xml 以在执行测试用例时加载应用程序上下文。
错误:
file-process.xml 的源代码:
测试用例:
测试配置:
test-file-process.xml 的源代码:
日志 :
spring - spring-integration-aws - 禁用桶中子文件夹的同步
我在我的一个项目中使用 Spring 集成 Aws 将文件从 S3 存储桶下载到本地目录。我已经指定了存储桶的位置,到目前为止下载工作正常。当我在存储桶中创建一个子文件夹以保存存档文件(已处理/下载)时,出现了问题。S3 同步器也开始下载子文件夹。我的期望是只同步存储桶中的文件夹而不是子文件夹。我可以在 spring-integration-aws 0.5 版本中看到一个标志来禁用此行为。
<xsd:attribute name="accept-sub-folders" type="xsd:string">
但我无法在 2.00 版中找到它。
下面是代码:
和轮询器配置:
有什么方法可以停止与 spring integration aws 2.00 同步子文件夹?
spring - 使用 S3 出站网关将元数据数据添加到 S3 对象
已经为 spring 集成 aws 应用程序编写了代码,该应用程序当前使用 s3-outbound-gateway 将文件从源文件夹上传到目标 S3 存储桶。想在 S3 存储桶中上传文件时添加以下用户定义的元数据及其关于文件的值。
x-amz-meta-sourcePath:/测试
x-amz-meta-targetPath :/targetbucket/
x-amz-meta-timestamp : (#timestamp 值)
想知道如何使用 S3 出站网关或其他方式添加元数据。任何文档/示例/建议都将有助于实现这一目标。
spring - 文件编码中面临的问题 - 使用文件到字符串转换器的 UTF-8/16
在 spring 集成 aws 应用程序中,使用 s3-outbound-gateway 将文件从源文件夹路由到目标 S3 存储桶。想使用文件到字符串转换器对文件进行 UTF-8/16 编码并上传到目标存储桶中。但是放置在目标存储桶中的输出文件没有编码,应用程序也不会抛出错误。
这里是否缺少任何东西以及实现此目的的任何其他方式?
路由到本地文件:文件仅使用文件到字符串转换器编码为 UTF-8 格式,尽管字符集是 8/16/32。
spring-boot - 与 AWS S3 的弹簧集成重试失败的“获取”文件
我们正在使用与 S3 的弹簧集成。我们有 s3-inbound-streaming-channel-adapter 可以从 S3 读取。发生的情况是,如果“get”失败,s3-inbound-streaming-channel-adapter 将文件名放在“acceptOnceFilter”中,并且不会重试失败。
Q1。我们想要的是当 s3-inbound-streaming-channel-adapter 从 S3“获取”一个文件并说由于某种原因这个“获取”失败......我们如何让 s3-inbound-streaming-channel-adapter 到再次为同一文件重试此“获取”请求?
Q2。失败时,会从 s3-inbound-streaming-channel-adapter 向默认的“errorChannel”发送异常。异常中的消息是否会包含失败的“文件名”?
谢谢总经理