【发布时间】:2021-05-17 15:59:48
【问题描述】:
我创建了一个被异步调用的 REST API (.asyncApply),并且该 API 正在尝试写入文件,但由于我已更改所有类型的权限而被拒绝,因此相应目录中的所有权限都已到位。
我研究了很多,但没有得到任何解决方案
异步调用是否有可能导致问题?
PS:此问题间歇性发生。另外,我正在使用 Play-frame 工作和 WSCliet 来访问 REST API。
更新 - api流程是这样的:
请求:
Document xml = play.libs.XML.fromString("<document></document>");
ws.url(url).post(xml);
处理响应:
completionStage<Document> documentPromise =
ws.url(url).get().thenApplyAsync(r -> r.getBody(xml()));
在处理过程中,它会异步访问一些 API,并且在写入文件时会出现异常
2021-05-17 12:08:03.079 +0530 [DEBUG] from com.zaxxer.hikari.pool.PoolBase:? in
application-akka.actor.default-dispatcher-1233 - HikariPool-2 - Reset (autoCommit) on connection oracle.jdbc.driver.T4CConnection@1a8c2ee6
2021-05-17 12:08:03.145 +0530 [INFO] from utils.BulkOutputFileCreator:? in
application-akka.actor.default-dispatcher-1233 - Exception occurred in writing file
java.io.FileNotFoundException: NF/BRO_PP/SMAPLE/outPut1234.csv (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at java.io.PrintWriter.<init>(PrintWriter.java:184)
【问题讨论】:
-
这肯定是您的操作系统的问题,而不是 Java。
-
您是否尝试过更改路径并使用另一个非常简单的路径进行测试。当路径不正确时会出现很多文件问题。
-
这个问题是间歇性发生的,正如我已经提到的,其他苍蝇正在通过相同的方法成功写入
-
@iggy,我没听懂你能不能详细一点?
-
@Renis1235,此代码在较低环境中运行良好,但它卡在较高环境中,因此也无法调试,但此问题在较低环境中不可重现,这是我的主要问题我正在向你们寻求帮助
标签: java multithreading playframework filenotfoundexception ws-client