java微服务中找不到文件错误

问题描述 投票:0回答:1

我有 2 个微服务

从服务 A 通过对文件进行操作来生成文件

从服务 B 开始使用文件

顺序是

第一步:访问服务B的API /getFile

第 2 步:在处理服务 B 的 API 时,它会调用 API 来在服务 A 中生成文件

第3步:文件生成后,我们检查文件在文件系统(即服务A和B的共享文件系统)上是否可用

第 4 步:成功接收到来自服务 A 的响应后,服务 B 继续处理

在上面的场景中,如果我们在服务 A 中使用 file.exists() ,它将返回 true 但如果我们在服务 B 中使用它,它会返回 false

还检查了在收到服务 A 的响应后是否正在检查文件。

任何人都可以帮助我为什么这种行为会被复制吗?

要检查文件是否存在,请找到以下代码

服务B

File file = Paths.get(uri).toFile();
log.debug("isFile():" + file.isFile() + " exists():" + file.exists())

服务A

File file = new File(uri);
log.debug("isFile():" + file.isFile() + " exists():" + file.exists())
java spring file microservices
1个回答
0
投票

这可能是您共享文件系统中的问题。根据解决方案,可能需要一些时间才能将更改传播到所有节点和所有客户端。

例如,NFS 有一个文件属性缓存。检查手册,了解它在您的情况下到底如何工作。

也许可以通过读取文件而不检查文件是否存在来解决。

© www.soinside.com 2019 - 2024. All rights reserved.