Package org.apache.geronimo.concurrent.thread

Examples of org.apache.geronimo.concurrent.thread.ManagedThread


    public void testCancel() throws Exception {
        BasicTask task = new BasicTask();
       
        ManagedThreadFactory threadFactory = getManagedThreadFactory();
       
        ManagedThread thread =
            (ManagedThread)threadFactory.newThread(task);
           
        thread.setHungTaskThreshold(1000 * 5);
       
        assertFalse(thread.isTaskHung());
       
        thread.start();
       
        Thread.sleep(1000 * 10);
        thread.updateState();
       
        assertTrue(thread.isTaskHung());
       
        assertTrue(thread.cancelTask());
       
        thread.join();
               
        assertTrue(task.getException() != null);
        assertFalse(thread.isTaskHung());
    }
View Full Code Here


    }
   
    private void testExpectedProperties(Runnable task, String expectedName, String expectedDescription) throws Exception {
        ManagedThreadFactory threadFactory = getManagedThreadFactory();
       
        ManagedThread thread =
            (ManagedThread)threadFactory.newThread(task);
       
        assertNull(thread.getTaskIdentityDescription());
        assertNull(thread.getTaskIdentityDescription(Locale.getDefault().toString()));
        assertNull(thread.getTaskIdentityName());
        assertEquals(0, thread.getTaskRunTime());
        assertEquals(thread.getId(), thread.getThreadID());
        assertEquals(thread.getName(), thread.getThreadName());
        assertFalse(thread.isTaskHung());
       
        thread.start();
       
        Thread.sleep(1000 * 10);
               
        assertEquals(expectedDescription, thread.getTaskIdentityDescription());
        assertEquals(expectedDescription, thread.getTaskIdentityDescription(Locale.getDefault().toString()));
        assertEquals(expectedName, thread.getTaskIdentityName());
        assertTrue(thread.getTaskRunTime() > 0);
        assertEquals(thread.getId(), thread.getThreadID());
        assertEquals(thread.getName(), thread.getThreadName());
        assertFalse(thread.isTaskHung());
       
        thread.join();
       
        assertNull(thread.getTaskIdentityDescription());
        assertNull(thread.getTaskIdentityDescription(Locale.getDefault().toString()));
        assertNull(thread.getTaskIdentityName());
        assertEquals(0, thread.getTaskRunTime());
        assertEquals(thread.getId(), thread.getThreadID());
        assertEquals(thread.getName(), thread.getThreadName());
        assertFalse(thread.isTaskHung());
    }
View Full Code Here

       
        if (this.associateTaskWithThread) {
            // associate task with the thread
            Thread thread = Thread.currentThread();
            if (thread instanceof ManagedThread) {
                ManagedThread managedThread = (ManagedThread)thread;
                managedThread.startTask(this);
            } else {
                LOG.warn("taskStart was not called on ManagedThread: " + thread);
            }
        }
    }
View Full Code Here

       
        if (this.associateTaskWithThread) {
            // de-associate task with the thread
            Thread thread = Thread.currentThread();
            if (thread instanceof ManagedThread) {
                ManagedThread managedThread = (ManagedThread)thread;
                managedThread.endTask();
            }
        }
    }
View Full Code Here

            throw new NullPointerException("threadFactory is null");
        }
    }
   
    public Thread newThread(Runnable runnable) {               
        ManagedThread thread = (ManagedThread)this.threadFactory.newThread(runnable);
       
        // set listener so that this class gets notifications of thread lifecycle events
        thread.setThreadLifecycleListener(this);
       
        this.threads.add(thread);       
       
        LOG.debug("Thread created: " + thread);
       
View Full Code Here

TOP

Related Classes of org.apache.geronimo.concurrent.thread.ManagedThread

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.