Java Firebase 中的服务器未将信息推送到数据库

Java server in Firebase not pushing information onto the database

我最近开始从旧的 Firebase API 迁移到新的 Google Firebase。我遵循了 Getting Started Guide 并且能够创建一个管理员访问帐户并生成一个 JSON 文件,并且成功地(我认为)使用示例代码初始化了 SDK:

FirebaseOptions options = new FirebaseOptions.Builder()
                .setServiceAccount(new FileInputStream("C:\FileStructure\Test Dev Project-59ee6eb5842a.json"))
                .setDatabaseUrl("https://test-dev-project-96fd5.firebaseio.com/")
                .build();

        FirebaseApp.initializeApp(options);

我的问题是将任何信息推送到我的数据库中。我 运行 应用程序(在 NetBeans 中)并且它 运行 没有问题。

// Create a database based on the initialized Firebase App
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        // Reference to the root of the database created.
        DatabaseReference ref = database.getReference();
        // Create a child to the root node
        DatabaseReference dataRef = ref.child("Hello World");
        dataRef.setValue("I'm writing data", new DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                if (databaseError != null) {
                    System.out.println("Data could not be saved " + databaseError.getMessage());
                } else {
                    System.out.println("Data saved successfully.");
                }
            }
        });

我的理解是代码根据实例化的App绘制数据库引用,setValue()、push()、update()、事务数据将数据推回数据库。

我实际上已经复制并粘贴了数据directly from the new API reference page on saving data,但数据仍然没有出现在我的控制台上。我还可以补充一点,我的控制台甚至无法确认我是否正确或错误地推送了数据。

我觉得我好像忘记了一些小东西,我不确定我是否正确地创建了我的引用。

我对实际在 Stack Overflow 上发帖还很陌生,所以请告知我是否遗漏了重要数据或发布了正确的内容。

谢谢大家抽出时间。

来自 Frank van Puffelen 的有效回复:

最常见的原因是您的 Java 程序在 Firebase 客户端将数据发送到数据库之前退出。您可以通过将 Thread.sleep(10000) 添加到程序末尾来轻松验证这是否是原因

但是,我也注意到此线程是重复的。可以找到原始问题 here。虽然这个问题是关于 post-transitioned Google 拥有的 Firebase,但解决方案是相同的。