【问题标题】:Permission denied to write file using java使用java写入文件的权限被拒绝
【发布时间】: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


【解决方案1】:

https://www.suse.com/support/kb/doc/?id=000019272

这个网页终于让我希望我的代码没有任何问题,因此我们在部署代码的 Linux 端进行了调试。

我们从 NFS 端发现了一个非常奇怪的行为,我们的目录权限在 NFS 挂载点到我们的服务器端目录之间一直从 777 波动到 755

所以我们直接从 NFS 服务器提供了 777,并且上述功能运行良好。

所以基本上问题是由于权限波动而发生的。

【讨论】:

    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2023-04-01
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    相关资源
    最近更新 更多