Java 执行svn更新时未发现异常
我的情况如下:Java 执行svn更新时未发现异常,java,svn,atomic,Java,Svn,Atomic,我的情况如下: 一个配置文件(config.cfg),用户可以多次访问该文件 不同的过程 Config.cfg受版本控制-SVN 我在一个临时环境中开发和测试,当一切正常时,我转到服务器并在config.cfg上执行svn up 问题是:在svn-up期间访问config.cfg的进程出现异常:未找到“config.cfg” svn似乎会导致文件在短时间内被替换,因此我的进程无法访问该文件 非常感谢您就如何解决此问题提供的任何意见。正如此SuiteisBlack所建议的那样,使用信号量文件并
- 一个配置文件(config.cfg),用户可以多次访问该文件 不同的过程
- Config.cfg受版本控制-SVN
svn up
问题是:在svn-up期间
访问config.cfg的进程出现异常:未找到“config.cfg”
svn似乎会导致文件在短时间内被替换,因此我的进程无法访问该文件
非常感谢您就如何解决此问题提供的任何意见。正如此SuiteisBlack所建议的那样,使用信号量文件并不是最好的方法
我想到的另一个解决方案是在这个过程中缓存配置文件。如果不存在,则使用配置文件的缓存版本。由于“svn更新”不会花费很长时间,因此进程将使用缓存版本,直到下次需要使用配置文件。在进程主动读取文件时更新文件似乎不明智。我会考虑避免这种情况。我不知道如何在我的案例中应用这个概念。当我推出新的配置文件时,我正在shell中运行“svn up”。因此,我无法通过编程来做任何事情。“我无法做任何事情”是一个相当宽泛的说法。在得出这样的结论之前,你可能需要进行更多的调查。如果控制访问配置文件的进程的代码,则可以添加一个位来访问信号量文件;然后,您可以将
svn包装到一个脚本中,该脚本检查相同的信号量文件,以查看更新该文件是否安全。你可以考虑很多不同的排列。真的:-我真丢脸。我将执行你的建议。