Author: brett
Date: Mon Jun 11 14:56:26 2012
New Revision: 1348883

URL: http://svn.apache.org/viewvc?rev=1348883&view=rev
Log:
[MRM-1632] Invalid Cron in a job means webapp will not start

If syntax is invalid, log a warning instead of throwing the exception, and the
job will not be scheduled.

Modified:
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java?rev=1348883&r1=1348882&r2=1348883&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
 Mon Jun 11 14:56:26 2012
@@ -190,9 +190,17 @@ public class DefaultDownloadRemoteIndexS
             {
                 log.info( "schedule download remote index for repository {} 
with cron expression {}",
                           remoteRepository.getId(), 
remoteRepository.getCronExpression() );
-                taskScheduler.schedule(
-                    new DownloadRemoteIndexTask( 
downloadRemoteIndexTaskRequest, this.runningRemoteDownloadIds ),
-                    new CronTrigger( remoteRepository.getCronExpression() ) );
+                try
+                {
+                    CronTrigger cronTrigger = new CronTrigger( 
remoteRepository.getCronExpression() );
+                    taskScheduler.schedule(
+                        new DownloadRemoteIndexTask( 
downloadRemoteIndexTaskRequest, this.runningRemoteDownloadIds ),
+                        cronTrigger );
+                }
+                catch ( IllegalArgumentException e )
+                {
+                    log.warn( "Unable to schedule remote index download: " + 
e.getLocalizedMessage() );
+                }
 
                 if ( remoteRepository.isDownloadRemoteIndexOnStartup() )
                 {


Reply via email to