[RESOLVIDO] Problemas ao inserir no FireBase a partir do Java Server

2 respostas Resolvido
Carol_Astete

Olá
Preciso inserir alguns registros de teste no FireBase a partir do servidor Java, mas não consigo inserir a partir do public static void main (String [] args)

Eu preciso inicializar a conexão com a base e fazer a inserção a partir do Main e depois fechar o programa, é para executar uma tarefa que insere informações na base a cada x minutos.
Isso não funciona para mim.
Por favor, sua ajuda.

Eu tenho isso, mas não funciona para mim, não salva os logs de teste:

public class Main {
    public static void main(String[] args) throws InterruptedException {
         initFirebase();
         Insert_registros("test_log", "27-04-2020");
     }
    public static void Insert_registros(String log, String fecha) { 
         DatabaseReference mDatabase;
         mDatabase = FirebaseDatabase.getInstance().getReference("test");
         Class_Insertar Insertar = new Class_Insertar();
         Insertar.log(log);
         Insertar.fecha(fecha);
         mDatabase.push().setValueAsync(Insertar);
    }
}

2 Respostas

rodriguesabner
Solucao aceita

Oi @Carol_Astete, tudo bem? Vamos lá, isso acontece porquê o tempo de execução da sua classe não acompanha o tempo de leitura e inserção no banco de dados!!

Tenta assim:

public static void Insert_registros(String log, String fecha) {
    try {
        DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("test");

        Class_Insertar Insertar = new Class_Insertar();
        Insertar.log(log);
        Insertar.fecha(fecha);

        mDatabase.push().setValueAsync(Insertar);
        Thread.sleep(5000);
    } catch (InterruptedException ex) {
        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Carol_Astete

Funciona perfeitamente, muito obrigado. Eles são gênios.

Saudações.

Criado 27 de abril de 2020
Ultima resposta 27 de abr. de 2020
Respostas 2
Participantes 2