1

WatchService を使用して外部プログラムからログ ファイルを監視するアプリケーションを作成しています ( http://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html)。ファイルで EVENT_MODIFIED がトリガーされるたびに、ファイルを読み取り、特定の文字列が存在するかどうかを確認します。手動でテキストを入力してファイルを保存すると、プログラムは正常に動作しますが、ログ ファイルが外部プログラムによって編集されると、WatchService がトリガーされません。

ファイルを読み取り、一定時間スリープしてから繰り返すスレッドを使用する別のアプローチを試しました。これでうまくいきますが、変更を「リッスン」するだけでよい場合は、X 秒ごとにファイルをポーリングしたくありません。

WatchServices がこれらの変更を検出しない理由を知っている人はいますか?

4

0 に答える 0