【发布时间】:2020-10-25 11:15:00
【问题描述】:
我正在开发 Spring-boot 应用程序,服务层有文件上传功能这里是代码 sn-p-
@Transactional(rollbackOn = AmazonServiceException.class)
@Override
public Post createPost(PostEntity postEntity, MultipartFile attachments) {
uploadOnS3(postEntity.getPostMedia(), attachments); // push into s3 bucket
.....
....
postRespository.save(postEntity);//store into application databse
}
问题场景:
-
假设文件成功上传到 s3 存储桶并返回 文件地址
-
在下一步之后发生异常并且事务已滚动 支持
-
由于文件已经上传,所以应用程序不会 任何信息
到目前为止我已经尝试过什么:
-
我已经绑定在 s3 存储桶上传之前插入本地数据库的东西,但我没有 获取任何回调,例如本地数据库插入已经完成,现在我们应该 启动 s3 任务。
-
同时,我还必须向客户发送关于 状态
spring 是否提供任何机制来让我们知道本地数据库插入已经完成?或者有没有更好的方法来处理这种类型的场景?
【问题讨论】:
标签: spring-boot amazon-s3 spring-aop spring-transactions