private boolean setDefaultCronExpressionWhenDisablingContinuousExectution( JobConfiguration newObject, JobConfiguration persistedObject ) { return ( !newObject.isContinuousExecution() && persistedObject.isContinuousExecution() ) && newObject.getCronExpression().equals( CONTINOUS_CRON ); }
if ( jobConfig.getCronExpression().equals( jobConfiguration.getCronExpression() ) )
persitedJobConfiguration.setCronExpression( jobConfiguration.getCronExpression() ); jobConfiguration = persitedJobConfiguration; if ( Objects.isNull( jobConfiguration.getCronExpression() ) ) if ( !CronSequenceGenerator.isValidExpression( jobConfiguration.getCronExpression() ) )
@Override public void scheduleJob( JobConfiguration jobConfiguration ) { if ( ifJobInSystemStop( jobConfiguration.getUid() ) ) { JobInstance jobInstance = new DefaultJobInstance(); if ( jobConfiguration.getUid() != null && !futures.containsKey( jobConfiguration.getUid() ) ) { ScheduledFuture<?> future = jobScheduler .schedule( () -> { try { jobInstance.execute( jobConfiguration, this, messageService, leaderManager ); } catch ( Exception e ) { log.error( DebugUtils.getStackTrace( e ) ); } }, new CronTrigger( jobConfiguration.getCronExpression() ) ); futures.put( jobConfiguration.getUid(), future ); log.info( "Scheduled job: " + jobConfiguration ); } } }
@Override public int compareTo( IdentifiableObject jobConfiguration ) { JobConfiguration compareJobConfiguration = (JobConfiguration) jobConfiguration; if ( jobType != compareJobConfiguration.getJobType() ) { return -1; } if ( jobStatus != compareJobConfiguration.getJobStatus() ) { return -1; } if ( jobParameters != compareJobConfiguration.getJobParameters() ) { return -1; } if ( continuousExecution != compareJobConfiguration.isContinuousExecution() ) { return -1; } if ( enabled != compareJobConfiguration.isEnabled() ) { return -1; } if ( !cronExpression.equals( compareJobConfiguration.getCronExpression() ) ) { return 1; } return -1; }