Estoy tratando de usar el API de cambios couchdb (continuo) de Java y encuentro que después de agotar la lista de cambios actuales, la transmisión parece estar cerrada, no permanecer abierta para siempre como se supone que debe.¿Cómo se usa CouchDB Change Notifications Continuous Changes from Java?
El código que estoy usando está por debajo. Esperaría nunca abandonar el ciclo while, pero hacerlo tan pronto como los cambios actualmente existentes se terminen de transmitir. Soy relativamente nuevo tanto para couchdb como para Java, por lo que puede que falte algo obvio. ¿Alguien puede enseñarme cómo escribir esto correctamente?
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();
He abierto un defecto aquí: https://issues.apache.org/jira/browse/COUCHDB-580 – Joscha