Firebase Admin SDk无法从后端Java运行

时间:2017-11-23 14:14:04

标签: java firebase firebase-realtime-database firebase-admin

我试图通过firebase admin sdk java在firebase实时数据库中推送消息,但我的问题是相同的代码工作            我的本地系统很好,我能够成功推送消息            在数据库中,但它没有在测试环境和测试中工作            环境是安装了ubuntu的AWS服务器            它,在谷歌上研究它我无法找到解决方案            此?

public static class User {

    public String date_of_birth;
    public String full_name;
    public String nickname;

    public User(String date_of_birth, String full_name) {
        // ...
    }

    public User(String date_of_birth, String full_name, String nickname) {
        // ...
    }

}

Map<String, User> users = new HashMap<>();
users.put("alanisawesome", new User("June 23, 1912", "Alan Turing"));
users.put("gracehop", new User("December 9, 1906", "Grace Hopper"));

连接代码是.....

  FileInputStream serviceAccount;
  FirebaseOptions options;
  try {
        serviceAccount = new FileInputStream("/********.json");
                options = new FirebaseOptions.Builder()
                           .setDatabaseUrl("https://myDatabaseUrl")                           
       .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                          .build();
                FirebaseApp.initializeApp(options);

                flagForConnectionWithFirebase=true;
                LOGGER.info("Options are:: "+options);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }                                                         
    final FirebaseDatabase database = 
                           FirebaseDatabase.getInstance();
    DatabaseReference ref = database.getReference(url);
    String key=ref.push().getKey();
    ref.child(key).setValueAsync(users);

2 个答案:

答案 0 :(得分:0)

经过长时间的搜索,我发现服务器没有与集中时区同步。发布该代码也可以在测试环境中成功运行。

答案 1 :(得分:0)

我发现似乎没有人愿意解决的一个非常普遍的问题,那就是Firebase依赖项之一中存在依赖项冲突

<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>

可以通过从Spring Boot Test和pring-boot-configuration-processor中排除依赖项来解决。现在我在运行测试时遇到一些问题,仍然无法确定它们是否相关。