SEVERE: The web application [/rxtest] appears to have started a thread named [RxComputationThreadPool-4] but has failed to stop it. This is very likely to create a memory leak.
Zář 27, 2014 9:39:22 DOP. org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: Stack trace of thread "RxComputationThreadPool-4":
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
public static String stuffResult()
{
StringBuilder b = new StringBuilder();
for (String d : doStuff().toBlocking().toIterable()) b.append('-').append(d);
return b.toString();
}
public static Observable<String> doStuff() {
Observable<String> a = Observable.range(0, 20).map(num -> "A"+num).subscribeOn(Schedulers.computation());
Observable<String> b = Observable.range(0, 20).map(num -> "B"+num).subscribeOn(Schedulers.computation());
Observable<String> c = Observable.range(0, 20).map(num -> "C"+num).subscribeOn(Schedulers.computation());
Observable<String> d = Observable.range(0, 20).map(num -> "D"+num).subscribeOn(Schedulers.computation());
Observable<String> e = Observable.range(0, 20).map(num -> "E"+num).subscribeOn(Schedulers.computation());
Observable<String> f = Observable.range(0, 20).map(num -> "F"+num).subscribeOn(Schedulers.computation());
return Observable.merge(a, b, c, d, e, f);
}
<body>
<h1>Doing stuff</h1>
<p><%=RxTest.stuffResult()%></p>
</body>
Best Regards,
Do you use Tomcat reload mechanism in production? If not, it should not be a big problem.
Best Regards,