@Test public void testNetty2978Concurrent() throws Exception { final CamelClient client = new CamelClient(); try { final List<Callable<String>> callables = new ArrayList<Callable<String>>(); for (int count = 0; count < 1000; count++) { final int i = count; callables.add( new Callable<String>() { public String call() { return client.lookup(i); } }); } final ExecutorService executorService = Executors.newFixedThreadPool(10); final List<Future<String>> results = executorService.invokeAll(callables); final Set<String> replies = new HashSet<String>(); for (Future<String> future : results) { // wait at most 60 sec to not hang test String reply = future.get(60, TimeUnit.SECONDS); assertTrue(reply.startsWith("Bye ")); replies.add(reply); } // should be 1000 unique replies assertEquals(1000, replies.size()); executorService.shutdownNow(); } finally { client.close(); } }
@Test public void testNetty2978() throws Exception { CamelClient client = new CamelClient(); try { for (int i = 0; i < 1000; i++) { Object reply = client.lookup(i); assertEquals("Bye " + i, reply); } } finally { client.close(); } }