0

我在java(J2EE App。)中面临一个非常奇怪的问题。我有一个应用程序,它从放置在本地机器/服务器上的某个位置的客户配置文件中读取数据,通过 Java API 读取它并在工具的 UI 上显示它。之后,通过 UI,可以通过 Java API 工具对数据进行更改并写回文件。

问题是该工具无法读取信息(读取文件的一半)并导致 UI 上的数据丢失。但问题并不一致。它仅发生大约 20 次中的 1 次。休息一下,它总是读得很好。

我无法在我的 WINDOwS 机器上重现该问题。但在生产服务器(ON UNIX 环境)中出现。

请建议我需要检查的内容。UNIX 中是否存在任何与权限相关的问题。

我的工具可以有错误吗?还是该工具遭受的环境问题。

我应该尝试

try {

// my code 

} catch(Throwable t) {

   t.printStackTrace();  

} 

调试它是否是环境中的问题?

4

1 回答 1

1

Windows 倾向于锁定文件,因此您在写入文件时不太可能阅读它。Linux 采用您知道自己在做什么的视图,并且默认情况下不锁定。这意味着您可以在完成之前查看文件。这是文件的一个常见问题,因为它们不是作为消息传递协议设计的,因此您必须想出一些启发式方法来处理这个缺陷。更好的方法是不使用文件在进程之间进行通信,否则您必须非常清楚它的局限性。

于 2013-08-03T13:22:35.250 回答