首页 > 解决方案 > java应用程序和shell脚本如何实现同步?

问题描述

我有一个适用于X个文本文件的 Java 应用程序。当文件处理结束时,它将文件传输到目标文件夹。

我有一个 bash 脚本,它从目标文件夹中选择文件并在预定时间将它们发送到另一台服务器。

我必须在 Java 应用程序和 shell 脚本之间实现同步。是否可以?

标签: javashellsynchronization

解决方案


我必须在 Java 应用程序和 shell 脚本之间实现同步。是否可以?

您可以做一些隐含的事情,例如:Java 应用程序将标记文件 likeprocessing-files-now.txt放入目标目录。只是为了更好地调试,该文件可能包含当前处理的文件数。

当 Java 应用程序完成处理后,它可以进入并删除标记文件。

然后脚本可以检查该文件是否存在(以便在 java 应用程序添加新文件时不开始传输文件)。

另一方面,真正的问题可能是:java 应用程序在脚本传输文件时启动。如果您真的想避免这种情况,您也可以让脚本编写这样的文件。

但请注意,这种“基于文件系统”的同步不是太健壮,并且随着时间的推移可能会给您带来各种麻烦。

这真的取决于“规模”。对于小型设置,当两个程序并行工作时,出现严重问题的可能性很小,甚至没有可怕的后果......上面可能会做。

但在更真实的世界场景中,您应该以不同的方式做这些事情。


推荐阅读