Package org.apache.geronimo.concurrent

Examples of org.apache.geronimo.concurrent.TestCallable


       
        assertEquals(value, f2.get(5, TimeUnit.SECONDS));       
        assertEquals(Arrays.asList(expected), task2.getList());   
       
        // test3       
        TestCallable task3 = new TestCallable();
       
        Future f3 = service.submit(task3);
       
        assertEquals(task3, f3.get(5, TimeUnit.SECONDS));       
        assertEquals(Arrays.asList(expected), task3.getList());       
    }
View Full Code Here


        assertTrue("waiting for taskDone()", listener2.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks2 = createCallbackInfo(f2);
        compareCallbacks(callbacks2, listener2.getCallbacks(f2));
       
        // test3       
        TestCallable task3 = new TestCallable();
        TestManagedTaskListener listener3 = new TestManagedTaskListener();
       
        Future f3 = service.submit(task3, listener3);
       
        assertEquals(task3, f3.get(5, TimeUnit.SECONDS));       
        assertEquals(Arrays.asList(expected), task3.getList())
        assertTrue("waiting for taskDone()", listener3.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks3 = createCallbackInfo(f3);
        compareCallbacks(callbacks3, listener3.getCallbacks(f3));
    }
View Full Code Here

        assertTrue("waiting for taskDone()", listener2.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks2 = createCallbackInfo(f2);
        compareCallbacks(callbacks2, listener2.getCallbacks(f2));
       
        // test3       
        TestCallable task3 = new TestCallable(0, true);
        TestManagedTaskListener listener3 = new TestManagedTaskListener();
       
        Future f3 = service.submit(task3, listener3);
       
        try {
            f3.get(5, TimeUnit.SECONDS);
        } catch (ExecutionException e) {
            assertTrue("Unexpected exception " + e.getMessage(),
                       e.getCause() instanceof IllegalStateException);
        }
       
        assertEquals(Arrays.asList(expected), task3.getList())
        assertTrue("waiting for taskDone()", listener3.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks3 = createCallbackInfo(f3);
        compareCallbacks(callbacks3, listener3.getCallbacks(f3));       
    }
View Full Code Here

    public void testInvokeAllWithTimeout() throws Exception {
        testInvokeAll(true);
    }
   
    private void testInvokeAll(boolean withTimeout) throws Exception {
        TestCallable task1 = new TestCallable();
        TestCallable task2 = new TestCallable();
                      
        ArrayList<Callable<Object>> tasks = new ArrayList<Callable<Object>>();
        tasks.add(task1);
        tasks.add(task2);
       
        List<Future<Object>> results = null;
        if (withTimeout) {
            results = service.invokeAll(tasks, 30, TimeUnit.SECONDS);
        } else {
            results = service.invokeAll(tasks);
        }

        assertEquals(task1, results.get(0).get(5, TimeUnit.SECONDS));
        assertEquals(Arrays.asList(expected), task1.getList());
               
        assertEquals(task2, results.get(1).get(5, TimeUnit.SECONDS));
        assertEquals(Arrays.asList(expected), task2.getList());           
    }
View Full Code Here

    public void testInvokeAllWithListenerWithTimeout() throws Exception {
        testInvokeAllWithListener(true);
    }
   
    private void testInvokeAllWithListener(boolean withTimeout) throws Exception {
        TestCallable task1 = new TestCallable();
        TestCallable task2 = new TestCallable();
        TestManagedTaskListener listener = new TestManagedTaskListener();
                      
        ArrayList<Callable<Object>> tasks = new ArrayList<Callable<Object>>();
        tasks.add(task1);
        tasks.add(task2);
       
        List<Future<Object>> results = null;
        if (withTimeout) {
            results = service.invokeAll(tasks, 30, TimeUnit.SECONDS, listener);
        } else {
            results = service.invokeAll(tasks, listener);
        }

        Future f1 = results.get(0);
        assertEquals(task1, f1.get(5, TimeUnit.SECONDS));
        assertEquals(Arrays.asList(expected), task1.getList());
       
        Future f2 = results.get(1);
        assertEquals(task2, f2.get(5, TimeUnit.SECONDS));
        assertEquals(Arrays.asList(expected), task2.getList());
               
        assertTrue("waiting for taskDone()", listener.waitForDone(2, TIMEOUT));
       
        List<TestManagedTaskListener.CallbackInfo> callbacks1 = createCallbackInfo(f1);
        compareCallbacks(callbacks1, listener.getCallbacks(f1));       
View Full Code Here

    public void testInvokeAnyWithTimeout() throws Exception {
        testInvokeAny(true);
    }
   
    private void testInvokeAny(boolean withTimeout) throws Exception {
        TestCallable task1 = new TestCallable(1000 * 10);
        TestCallable task2 = new TestCallable(1000 * 5);
                      
        ArrayList<Callable<Object>> tasks = new ArrayList<Callable<Object>>();
        tasks.add(task1);
        tasks.add(task2);
       
        Object result = null;
        if (withTimeout) {
            result = service.invokeAny(tasks, 30, TimeUnit.SECONDS);
        } else {
            result = service.invokeAny(tasks);
        }
               
        // task2 runs faster
        assertEquals(task2, result);
        assertEquals(Arrays.asList(expected), task2.getList());
       
        // task1 should get cancelled so list should be empty
        assertTrue(task1.getList().isEmpty());
    }
View Full Code Here

        assertTrue("waiting for taskDone()", listener2.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks2 = createCallbackInfo(f2);
        compareCallbacks(callbacks2, listener2.getCallbacks(f2));
       
        // test3       
        TestCallable task3 = new TestCallable();
        TestManagedTaskListener listener3 = new TestManagedTaskListener();
       
        setTestRandomContextData();
        Future f3 = service.submit(task3, listener3);
       
        assertEquals(task3, f3.get(5, TimeUnit.SECONDS));       
        assertEquals(Arrays.asList(expected), task3.getList())
        assertTrue("waiting for taskDone()", listener3.waitForDone(TIMEOUT));
        List<TestManagedTaskListener.CallbackInfo> callbacks3 = createCallbackInfo(f3);
        compareCallbacks(callbacks3, listener3.getCallbacks(f3));
    }  
View Full Code Here

              
        assertEquals(0, task2.getList().size());
        checkRejectedListener(listener2.getCallbacks());  
               
        // test3       
        TestCallable task3 = new TestCallable();
        TestManagedTaskListener listener3 = new TestManagedTaskListener();
       
        try {
            service.submit(task3, listener3);
        } catch (RejectedExecutionException e) {
            // that's what we expect
        }
              
        assertEquals(0, task3.getList().size());
        checkRejectedListener(listener3.getCallbacks());             
    }
View Full Code Here

    /**
     * Tests whether calling Future.get() from within ManagedTaskLister.taskDone() work
     * as expected (i.e. does not cause a deadlock).
     */
    public void testFutureInListenerDone() throws Exception {
        TestCallable task = new TestCallable(2 * 1000);
       
        FutureDoneTastListener listener = new FutureDoneTastListener();
       
        Future f1 = service.submit(task, listener);
       
        assertEquals(task, f1.get());

        assertTrue("waiting for taskDone()", listener.waitForDone(TIMEOUT));
        assertEquals(Arrays.asList(expected), task.getList());      
        List<TestManagedTaskListener.CallbackInfo> callbacks1 = createCallbackInfo(f1);
        compareCallbacks(callbacks1, listener.getCallbacks(f1));
               
        assertEquals(task, listener.getFutureResult());
        assertEquals(null, listener.getFutureException());              
View Full Code Here

    /**
     * Tests whether calling Future.get() from within ManagedTaskLister.taskAbort() work
     * as expected (i.e. does not cause a deadlock).
     */
    public void testFutureInListenerAbort() throws Exception {
        TestCallable task = new TestCallable(10 * 1000);
       
        FutureAbortTastListener listener = new FutureAbortTastListener();
       
        Future f1 = service.submit(task, listener);
       
        Thread.sleep(5 * 1000);
        f1.cancel(true);
        try {
            f1.get();
            fail("Did not throw exception");
        } catch (CancellationException e) {
            // expected
        }

        assertTrue("waiting for taskDone()", listener.waitForDone(TIMEOUT));
        assertTrue(task.getList().isEmpty()); // it should be empty as the task got cancelled      
        List<TestManagedTaskListener.CallbackInfo> callbacks1 = createAbortCallbackInfoV1(f1);
        try {
            compareCallbacks(callbacks1, listener.getCallbacks(f1));
        } catch (AssertionFailedError e) {
            callbacks1 = createAbortCallbackInfoV2(f1);
View Full Code Here

TOP

Related Classes of org.apache.geronimo.concurrent.TestCallable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.