This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 918d8d30e4bb1be04eb390279e18fb829e819e11
Author: Luigi De Masi <ldem...@redhat.com>
AuthorDate: Mon Nov 4 23:30:23 2019 +0100

     CAMEL-14137 Thread leak in camel-jetty component if maxThreads or 
minThreads property is set
---
 .../component/jetty/JettyThreadPoolSizeTest.java   | 38 ++++++++++------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyThreadPoolSizeTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyThreadPoolSizeTest.java
index 27aae78..760b285 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyThreadPoolSizeTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyThreadPoolSizeTest.java
@@ -12,61 +12,57 @@ public class JettyThreadPoolSizeTest extends BaseJettyTest {
 
     private static final Logger log =  
LoggerFactory.getLogger(JettyThreadPoolSizeTest.class);
 
-
-    private JettyHttpComponent jettyComponent;
-
-    private RouteBuilder builder;
-
     @Test
     public void threadPoolTest(){
 
-
-        Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
-        long initialJettyThreadNumber = threadSet.stream().filter(thread -> 
thread.getName().contains("CamelJettyServer")).count();
+        long initialJettyThreadNumber = countJettyThread();
 
         log.info("initial Jetty thread number (expected 5): "+ 
initialJettyThreadNumber);
 
         context.stop();
 
-        Set<Thread> threadSetAfterStop = Thread.getAllStackTraces().keySet();
-        long jettyThreadNumberAfterStop = 
threadSetAfterStop.stream().filter(thread -> 
thread.getName().contains("CamelJettyServer")).count();
+        long jettyThreadNumberAfterStop =  countJettyThread();
 
         log.info("Jetty thread number after stopping Camel Context: (expected 
0): "+ jettyThreadNumberAfterStop);
 
-
-        jettyComponent = (JettyHttpComponent)context.getComponent("jetty");
+        JettyHttpComponent jettyComponent = 
(JettyHttpComponent)context.getComponent("jetty");
         jettyComponent.setMinThreads(5);
         jettyComponent.setMaxThreads(5);
 
         context.start();
-        Set<Thread> threadSetAfterRestart = 
Thread.getAllStackTraces().keySet();
-        long jettyThreadNumberAfterRestart = 
threadSetAfterRestart.stream().filter(thread -> 
thread.getName().contains("CamelJettyServer")).count();
 
-        log.info("Jetty thread number after starting Camel Context: (expected 
5): "+ jettyThreadNumberAfterRestart);
+        long jettyThreadNumberAfterRestart = countJettyThread();
 
+        log.info("Jetty thread number after starting Camel Context: (expected 
5): "+ jettyThreadNumberAfterRestart);
 
-        assertEquals(5,initialJettyThreadNumber);
+        assertEquals(5L,initialJettyThreadNumber);
 
-        assertEquals(0,jettyThreadNumberAfterStop);
+        assertEquals(0L,jettyThreadNumberAfterStop);
 
-        assertEquals(5,jettyThreadNumberAfterRestart);
+        assertEquals(5L,jettyThreadNumberAfterRestart);
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
 
-        builder = new RouteBuilder() {
+        return new  RouteBuilder() {
             @Override
             public void configure() throws Exception {
                 // setup the jetty component with the custom minThreads
-                jettyComponent = 
(JettyHttpComponent)context.getComponent("jetty");
+               JettyHttpComponent jettyComponent = 
(JettyHttpComponent)context.getComponent("jetty");
                 jettyComponent.setMinThreads(5);
                 jettyComponent.setMaxThreads(5);
 
                 
from("jetty://http://localhost:{{port}}/myserverWithCustomPoolSize";).to("mock:result");
             }
         };
-        return builder;
+    }
+
+    private long countJettyThread(){
+
+        Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
+        return threadSet.stream().filter(thread -> 
thread.getName().contains("CamelJettyServer")).count();
+
     }
 
 }

Reply via email to