Firebase database connection with Java Server throwing InvocationTargetException

209 views
Skip to first unread message

Paras Diwan

unread,
Aug 14, 2016, 11:44:12 AM8/14/16
to Firebase Google Group
I am trying to connect firebase database from Java server but it throws exception when i get reference from database

            FirebaseDatabase fireDB = FirebaseDatabase.getInstance(firebaseApp);
            System.out.println(fireDB);
            DatabaseReference ref = fireDB.getReference("/users");
            System.out.println("db counsellor ref : " + ref);
            System.out.println("db ref key : " + ref.getKey());
 in third line it throws exception

Firebase app in autowired in Spring and initialized in config class as below:


           
String firebaseJson = env.getProperty("firebase.credentials");
           
String fireDb = env.getProperty("firebase.db");
           
System.out.println("\n\n" + firebaseJson + "\n\n");
           
System.out.println("\n\n" + fireDb + "\n\n");
           
FirebaseOptions options = new FirebaseOptions.Builder()
                   
.setServiceAccount(new FileInputStream(firebaseJson))
                   
.setDatabaseUrl(fireDb)
                   
.build();
           
System.out.println("firebase options" + options);
           
System.out.println("Firebase connection created");
           
return FirebaseApp.initializeApp(options);

The log trace :

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.google.firebase.database.core.GaePlatform.getGaeThreadFactory(GaePlatform.java:67)
at com.google.firebase.database.core.GaePlatform.isActive(GaePlatform.java:78)
at com.google.firebase.database.core.Context.getPlatform(Context.java:42)
at com.google.firebase.database.core.Context.ensureLogger(Context.java:211)
at com.google.firebase.database.core.Context.initServices(Context.java:77)
at com.google.firebase.database.core.Context.freeze(Context.java:64)
at com.google.firebase.database.core.RepoManager.createLocalRepo(RepoManager.java:78)
at com.google.firebase.database.core.RepoManager.createRepo(RepoManager.java:28)
at com.google.firebase.database.FirebaseDatabase.ensureRepo(FirebaseDatabase.java:249)
at com.google.firebase.database.FirebaseDatabase.getReference(FirebaseDatabase.java:125)
at com.hw.service.impl.AppServiceImpl.repopulateCounsellors(AppServiceImpl.java:161)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy57.repopulateCounsellors(Unknown Source)
at com.hw.controller.AppController.repopulateCounsellors(AppController.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.firebase.database.core.GaePlatform.getGaeThreadFactory(GaePlatform.java:62)
... 60 more
Caused by: java.lang.NullPointerException
at com.google.appengine.api.ThreadManager.backgroundThreadFactory(ThreadManager.java:72)
... 65 more


Please help me out. I cant figure out where i am getting it wrong

Kato Richardson

unread,
Aug 15, 2016, 5:05:22 PM8/15/16
to Firebase Google Group

Hello Paras,

Something here seems amiss, and definitely related to being “autowired in Spring.” Is fireDB and firebaseApp both logging reasonable values? I don’t see anything checking firebaseApp in your terse snippets here. I’d expect one of those to be null, based on the NPE near the bottom. Can you add a breakpoint in there and examine the vars?

☼, Kato

--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-talk+unsubscribe@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/3b685924-0d99-440a-bc04-1d8202971d3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

Kato Richardson | Developer Programs Eng | kato...@google.com | 775-235-8398

Reply all
Reply to author
Forward
0 new messages