Firebase Java API removeValue不工作

Firebase Java API removeValue不工作,java,firebase,Java,Firebase,我是Firebase的新手,所以非常感谢您对这一点的了解。当我以这种方式调用Firebase setValue(obj,callback)函数时,它工作得非常好。但是,当我试图删除“ref”引用的值时,什么也没有发生。这只是一个测试帐户,所以我将安全规则设置为完全读写。输出如下。一些输出来自调用removeNode(…)的封装run()方法。非常感谢您的任何见解 public void removeNode(final Firebase ref) throws Exception {

我是Firebase的新手,所以非常感谢您对这一点的了解。当我以这种方式调用Firebase setValue(obj,callback)函数时,它工作得非常好。但是,当我试图删除“ref”引用的值时,什么也没有发生。这只是一个测试帐户,所以我将安全规则设置为完全读写。输出如下。一些输出来自调用removeNode(…)的封装run()方法。非常感谢您的任何见解

public void removeNode(final Firebase ref) throws Exception {

    try {
        System.out.println("Start Remove Node: " + ref.toString());

        final AtomicBoolean done = new AtomicBoolean(false);
        ref.removeValue(new Firebase.CompletionListener() {
            @Override
            public void onComplete(FirebaseError firebaseError, Firebase firebase) {
                done.set(true);
                System.out.println("Remove Node complete");
                if (firebaseError != null) {
                    System.out.println("ErrorCode: " + firebaseError.getCode());
                    System.out.println("ErrorMsg: " + firebaseError.getMessage());
                }
                System.out.println("Remove Complete Done");
            }
        });
        while (!done.get()) {
            Thread.sleep(500);
            System.out.println("Remove Node Sleeping");
        }

    } catch (Exception e) {
        System.out.println("Remove Node Exception: " + e.getMessage());
    }
}
我的输出如下:

in run() - about to removeNode https://<instance>.firebaseio.com/node/node
Start Remove Node: https://<instance>.firebaseio.com/node/node
Remove Node Sleeping
Remove Node Sleeping
Remove Node complete
Remove Complete Done
Remove Node Sleeping
in run() - RemoveNode leaving normally
pool-3-thread-1
All threads handled so far? {true}
Complete

Process finished with exit code 0

用于删除的Firebase URL为

应该是吗


获取URL并将其粘贴到浏览器中,以便在Forge中查看,并仔细检查数据是否存在。

交叉发布:我的URL是故意的,因此这不是问题所在,但您的提示为我指明了正确的方向。当使用curl或直接浏览器链接时,我会返回预期值,或者在本例中缺少值:null。但是,在仪表板中,我看到数据的缓存版本未更新以反映数据更改。续:简单刷新、登录/注销似乎无法更新Forge数据。是否有办法刷新Forge数据表示并清除其缓存?谢谢继续说:我明白了。网址https://.firebaseio.com/ 负责根节点。我正试图访问https://.firebaseio.com//node 当我真的只需要访问https://.firebaseio.com/node 谢谢
ref.setValue(null, new Firebase.CompletionListener() {
            @Override
            public void onComplete(FirebaseError firebaseError, Firebase firebase) {
                done.set(true);
                System.out.println("setNull Node complete");
                if (firebaseError != null) {
                    System.out.println("ErrorCode: " + firebaseError.getCode());
                    System.out.println("ErrorMsg: " + firebaseError.getMessage());
                } else {
                    System.out.println("FirebaseError: NULL");
                }
                System.out.println("setNull Complete Done");
            }
        });