firebase / quickstart-java

Quickstart samples for Firebase Java Admin SDK
Apache License 2.0
234 stars 143 forks source link

Can't shutdown background threads [Firebase Admin SDK 4.1.5] #10

Open hestad opened 7 years ago

hestad commented 7 years ago

Running this on local machine with Java 8 FirebaseOptions options = new FirebaseOptions.Builder() .setCredential(FirebaseCredentials.applicationDefault()) .setDatabaseUrl("https://" + ServiceOptions.getDefaultProjectId() + ".firebaseio.com/") .build();

firebaseDatabase = FirebaseDatabase.getInstance(FirebaseApp.initializeApp(options)); final DatabaseReference entry = firebaseDatabase.getReference("somereference"); entry.setValue("data",(databaseError, databaseReference) -> System.out.println("ok")); How can i choose to use daemon threads? And if not, why don't you have a shutdown/close option?

I notice that entry.setValue("data") shutdowns threads normally.

ghost commented 6 years ago

You can store your listener and ref

private static Map<DatabaseReference, ValueEventListener> valueListenerMap = new ConcurrentHashMap<>(); Then

valueListenerMap.forEach((k, v) -> {
    k.removeEventListener(v);
});
tango4567 commented 6 years ago

@hestad I am not able to use FirebaseOption.setCredentials() method can you help me.