Documente Academic
Documente Profesional
Documente Cultură
loggerListener.onLoggerAssigned();
Log.e(TAG, error.getDetails());
});
databaseReference.child(REQLOG).push().setValue(inbox);
Quando uma nova entrada é adicionada ao local de dados /inbox/, o valor é atualizado pelo
servlet com o respectivo identificador. Isso indica ao aplicativo Playchat que a atribuição para
processar registros desse usuário foi aceita no servlet. As transações do Firebase são usadas
para garantir que somente um servlet possa atualizar o valor e aceitar a atribuição.
src/main/java/com/google/cloud/solutions/flexenv/backend/MessageProcessorServlet.javaVE
R NO GITHUB
/*
* Receive a request from a client and reply back its inbox ID.
* Using a transaction ensures that only a single servlet instance replies
* to the client. This lets the client know to which servlet instance
*/
firebase.child(REQLOG).addChildEventListener(new ChildEventListener() {
// Only the first servlet instance writes its ID to the client inbox.
if (currentData.getValue() == null) {
currentData.setValue(inbox);
return Transaction.success(currentData);
});
firebase.child(REQLOG).removeValue();
// ...
});
Depois de uma tarefa de processar os logs de eventos de um usuário ser aceita pelo servlet,
um listener é adicionado. Esse listener detecta quando um novo arquivo de log é gravado na
caixa de entrada pelo aplicativo Playchat. A resposta do servlet é recuperar os novos dados de
log do Firebase Realtime Database.
src/main/java/com/google/cloud/solutions/flexenv/backend/MessageProcessorServlet.javaVE
R NO GITHUB
/*