我试图通过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);
答案 0 :(得分:0)
经过长时间的搜索,我发现服务器没有与集中时区同步。发布该代码也可以在测试环境中成功运行。
答案 1 :(得分:0)
我发现似乎没有人愿意解决的一个非常普遍的问题,那就是Firebase依赖项之一中存在依赖项冲突
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
可以通过从Spring Boot Test和pring-boot-configuration-processor中排除依赖项来解决。现在我在运行测试时遇到一些问题,仍然无法确定它们是否相关。