Javaからcouchdb(継続的)変更APIを使用しようとしていますが、現在の変更のリストを使い果たした後、ストリームが閉じられているように見え、本来のように永遠に開いたままにならないことがわかりました。
私が使用しているコードは以下のとおりです。while ループから抜け出すことは決してないと考えていますが、現在存在する変更のストリーミングが終了したらすぐに抜け出します。私はcouchdbとJavaの両方に比較的慣れていないため、明らかな何かが欠けている可能性があります。誰かがこれを正しく書く方法を教えてもらえますか?
URL url = new URL("[path to database here]/_changes?feed=continuous";);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = reader.readLine()) != null){
// do something with the line here
}
// Should never get here under normal circumstances
reader.close();