我创建了一个异步调用的 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)