Return-Path: Delivered-To: apmail-jakarta-avalon-cvs-archive@apache.org Received: (qmail 33139 invoked from network); 18 May 2002 03:55:49 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 18 May 2002 03:55:49 -0000 Received: (qmail 6690 invoked by uid 97); 18 May 2002 03:55:56 -0000 Delivered-To: qmlist-jakarta-archive-avalon-cvs@jakarta.apache.org Received: (qmail 6674 invoked by uid 97); 18 May 2002 03:55:56 -0000 Mailing-List: contact avalon-cvs-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list avalon-cvs@jakarta.apache.org Received: (qmail 6663 invoked by uid 97); 18 May 2002 03:55:55 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Date: 18 May 2002 03:55:41 -0000 Message-ID: <20020518035541.496.qmail@icarus.apache.org> From: donaldp@apache.org To: jakarta-avalon-cornerstone-cvs@apache.org Subject: cvs commit: jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler DefaultTimeScheduler.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N donaldp 02/05/17 20:55:41 Modified: src/java/org/apache/avalon/cornerstone/blocks/scheduler DefaultTimeScheduler.java Log: Add some javadocs Revision Changes Path 1.14 +35 -11 jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java Index: DefaultTimeScheduler.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- DefaultTimeScheduler.java 12 May 2002 08:06:41 -0000 1.13 +++ DefaultTimeScheduler.java 18 May 2002 03:55:41 -0000 1.14 @@ -23,7 +23,6 @@ import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.logger.AbstractLogEnabled; -import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.phoenix.Block; /** @@ -203,21 +202,18 @@ } } + /** + * Rune entry in a separate thread. + * + * @param entry the entry to run + */ private void runEntry( final TimeScheduledEntry entry ) { - final Logger logger = getLogger(); final Runnable runnable = new Runnable() { public void run() { - try - { - entry.getTarget().targetTriggered( entry.getName() ); - } - catch( final Throwable t ) - { - logger.warn( "Error occured executing trigger " + entry.getName(), t ); - } + doRunEntry( entry ); } }; @@ -232,6 +228,24 @@ } } + /** + * Helper method delegated to to run in a separate thread. + * + * @param entry the entry to run + */ + private void doRunEntry( final TimeScheduledEntry entry ) + { + try + { + entry.getTarget().targetTriggered( entry.getName() ); + } + catch( final Throwable t ) + { + final String message = "Error occured executing trigger " + entry.getName(); + getLogger().warn( message, t ); + } + } + public void start() throws Exception { @@ -248,6 +262,10 @@ } } + /** + * Entry point for thread that monitors entrys and triggers + * entrys when necessary. + */ public void run() { m_running = true; @@ -283,7 +301,6 @@ if( duration < 0 ) { runEntry( entry ); - rescheduleEntry( entry, false ); continue; } @@ -313,6 +330,13 @@ } } + /** + * Retrieve next valid entry. It will pop off any + * invalid entrys until the heap is empty or a valid entry + * is found. + * + * @return the next valid entry or null if none + */ private synchronized TimeScheduledEntry getNextEntry() { TimeScheduledEntry entry = -- To unsubscribe, e-mail: For additional commands, e-mail: