Этот код уже много лет хорошо работает в среде, размещенной в Google. и только что был перенесен на частный сервер (аутентификация Firebase наших приложений была обновлена, как описано в документации).
Код, выполняющий запись, прост (сообщения журнала упрощены). ):
Код: Выделить всё
db.setValue(value, (DatabaseError databaseError, DatabaseReference databaseReference) -> {
if (databaseError == null) {
log.info("Write operation completed...");
} else {
log.warn("Write operation failed...");
}
});
При запуске в нашем новом в производственной среде проблема, с которой я сталкиваюсь, немного отличается в зависимости от версии библиотеки Firebase-admin, которую я использую.
С этой старой версией Admin SDK: >
Код: Выделить всё
com.google.firebase
firebase-admin
8.2.0
Без обратных вызовов нет сообщений об ошибках, указывающих на то, что перестало работать.
В более поздних версиях SDK (протестировано 9.2.0 и 9.3.0)
После обновления до самых последних версий API все вызовы завершаются сбоем, как описано выше, т.е. . база данных не обновляется, а обратный вызов CompletionListener никогда не вызывается.
Любые советы о том, как продолжить расследование, или предложения о том, что может привести к тому, что CompletionListener перестанет отправлять отчеты ошибки будут очень приветствоваться.
Подробнее здесь: https://stackoverflow.com/questions/787 ... e-database