Spring integration 使用spring集成aws S3MessageHandler上载文件时出现AmazonClientException
我已经从spring integration aws配置了一个Spring integration 使用spring集成aws S3MessageHandler上载文件时出现AmazonClientException,spring-integration,Spring Integration,我已经从spring integration aws配置了一个S3MessageHandler,将文件对象上传到S3 上载失败,跟踪如下: 原因:com.amazonaws.AmazonClientException:数据读取的长度与预期的长度不同:dataLength=0;预期长度=26;includeSkipped=false;in.getClass()=类com.amazonaws.internal.ResettableInputStream;markedSupported=true;标记
S3MessageHandler
,将文件
对象上传到S3
上载失败,跟踪如下:
原因:com.amazonaws.AmazonClientException:数据读取的长度与预期的长度不同:dataLength=0;预期长度=26;includeSkipped=false;in.getClass()=类com.amazonaws.internal.ResettableInputStream;markedSupported=true;标记=0;resetsincellastmarked=false;markCount=1;重置计数=0
位于com.amazonaws.util.LengthCheckInputStream.checkLength(LengthCheckInputStream.java:152)
查看S3MessageHandler
的源代码,我不确定如何成功上传文件。s3MessageHandler.upload()
方法在跟踪其执行时执行以下操作:
- 为文件创建FileInputStream
- 使用输入流计算文件内容的MD5哈希
- 如果可以重置流,则重置流(对于FileInputStream不可能)
- 使用输入流设置S3传输。这会失败,因为流处于EOF,因此可转移字节数与内容长度标头中的字节数不匹配
我是否遗漏了什么,或者这是消息处理程序中的错误?是;这是一只虫子;请打开一个和/或一个
对于FileInputStream
应该创建一个新的,对于InputStream
有效负载,如果MD5使用流,我们需要断言markSupported()
为true
在“签署”CLA后考虑
编辑
我打开了。是的;这是一只虫子;请打开一个和/或一个
对于FileInputStream
应该创建一个新的,对于InputStream
有效负载,如果MD5使用流,我们需要断言markSupported()
为true
在“签署”CLA后考虑
编辑
我打开了。哈哈……我打开了226。将作为副本关闭它。在春季,aws回购与您的JIRA问题挂钩。哈哈…我打开了226。将作为副本关闭它。在春季集成中,aws回购现在与您的JIRA问题相关联。