2017-11-23 24 views
1

firebase admin sdk javaを使用してfirebaseリアルタイムデータベースにメッセージをプッシュしようとしていますが、同じ問題が同じコードが正常に機能しています。ローカルシステムで問題なく動作しています正常に がデータベースにありますが、テスト環境とテストでは動作していません 環境は にインストールされたubuntuのAWSサーバーです。Googleで調べていますが、これは の解決策を見つけることができません。接続を行うためのFirebase Admin SDkがバックエンドから動作しないJava

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

「働いていない」とはどういう意味ですか?何かエラーがありますか?コードはどのように展開されていますか?それはWebアプリケーション、コマンドラインアプリケーションなどの一部ですか? –

+0

それをスタンドアロンアプリケーションとしてデプロイし、コマンドラインでJavaクラスを実行します。テスト環境でメッセージをプッシュしませんが、ローカルコードで同じコードを実行すると、コードは正常に動作し、メッセージをデータベースに送ります。もう1つの質問は、SSLポートがファイアベースと通信するために開く必要があることです。 –

答えて

0

です。テスト環境でもこのコードを正常に実行することができます。

関連する問題