假设我有一个存储库类,该类的方法是从不同片段中的多个视图模型调用的,并且该存储库的每个方法都使用addOnSuccessListener来处理Firebase请求,以处理每个请求。这样做的效果会否导致大量的听众无限期地运行?如果是这样,我该如何处理?我可以在存储库中传递活动实例并为其定义生命周期,但是如果我将使用该存储库执行许多请求,将会发生什么情况?
EDIT1:
我的存储库公开了如下方法:
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [com.brightcove.metrics.reporting.GraphitePickleReporter$MetricPickler]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [com.brightcove.metrics.reporting.GraphitePickleReporter$MetricPickler]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1289)
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1277)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
at com.brightcove.metrics.reporting.GraphitePickleReporter.getPickler(GraphitePickleReporter.java:185)
at com.brightcove.metrics.reporting.GraphitePickleReporter.run(GraphitePickleReporter.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)