では続きとして、実務でよくある「while文」活用例をさらに紹介します。現場でありがちな「ログ監視」や「APIの再試行処理」を取り上げます。
例4:ログ監視(システム運用)
サーバーのログファイルを監視して、特定のキーワードが出たら通知する処理。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class LogMonitor {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("server.log"))) {
String line;
while ((line = br.readLine()) != null) {
if (line.contains("ERROR")) {
System.out.println("エラー検出: " + line);
// 実務ではここでメール送信やアラート通知を行う
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java👉 運用現場では「エラーが出たら即通知」する仕組みを作るときにwhileが役立ちます。
例5:APIの再試行処理
ネットワークが不安定なとき、API呼び出しを一定回数までリトライする処理。
public class ApiRetry {
public static void main(String[] args) {
int retryCount = 0;
boolean success = false;
while (!success && retryCount < 3) {
try {
// API呼び出し(ダミー)
System.out.println("API呼び出し: " + (retryCount + 1) + "回目");
// 成功したと仮定
success = true;
} catch (Exception e) {
retryCount++;
System.out.println("失敗。リトライします...");
}
}
if (success) {
System.out.println("API呼び出し成功!");
} else {
System.out.println("API呼び出し失敗。上限に達しました。");
}
}
}
Java👉 実務では「外部サービスが一時的に失敗する」ことがあるので、リトライ処理は必須です。
✅ まとめ
- ログ監視 → ファイルを読み続けて、条件に合ったら処理する
- API再試行 → 成功するまで繰り返すが、上限を決めて無限ループを防ぐ
while文は「いつ終わるかわからない処理」に強いので、運用監視や外部連携でよく使われます。
