java - java应用程序和shell脚本如何实现同步?
问题描述
我有一个适用于X个文本文件的 Java 应用程序。当文件处理结束时,它将文件传输到目标文件夹。
我有一个 bash 脚本,它从目标文件夹中选择文件并在预定时间将它们发送到另一台服务器。
我必须在 Java 应用程序和 shell 脚本之间实现同步。是否可以?
解决方案
我必须在 Java 应用程序和 shell 脚本之间实现同步。是否可以?
您可以做一些隐含的事情,例如:Java 应用程序将标记文件 likeprocessing-files-now.txt
放入目标目录。只是为了更好地调试,该文件可能包含当前处理的文件数。
当 Java 应用程序完成处理后,它可以进入并删除该标记文件。
然后脚本可以检查该文件是否存在(以便在 java 应用程序添加新文件时不开始传输文件)。
另一方面,真正的问题可能是:java 应用程序在脚本传输文件时启动。如果您真的想避免这种情况,您也可以让脚本编写这样的文件。
但请注意,这种“基于文件系统”的同步不是太健壮,并且随着时间的推移可能会给您带来各种麻烦。
这真的取决于“规模”。对于小型设置,当两个程序并行工作时,出现严重问题的可能性很小,甚至没有可怕的后果......上面可能会做。
但在更真实的世界场景中,您应该以不同的方式做这些事情。
推荐阅读
- bash - bash 脚本将两个变量值打印到同一行序列中
- powershell - 如果请求在 Powershell 中失败。怎么修?
- python - 用 Python 编写一个客户端来调用一个使用 JWT 身份验证的 REST Web 服务
- reactjs - React 应用程序在 IE11 中不起作用(已尝试过 polyfills)
- ffmpeg - 输入区域 0:0:1280:675 不在填充区域 0:0:1280:674 内或大小为零
- mysql - SQL查询多列并排序
- cors - 尝试使用 Auth0 对用户进行身份验证时出现 CORS 错误
- c - 即使在 C 中遇到 null 后,如何继续从某个位置打印?
- swift - 使用 Swift 从 Firebase 数据库中检索
- python - 从 python 脚本更新文件后,在 docker 中复制的 Json 文件不会更改