jmrozanec / cron-utils

Cron utils for parsing, validations and human readable descriptions as well as date/time interoperability.
http://cron-utils.com
Apache License 2.0
1.14k stars 262 forks source link

DEBUG com.cronutils.model.time.generator.AndFieldValueGenerator - Catched expected exception while generating candidates com.cronutils.model.time.generator.NoSuchValueException: null #600

Closed yflytom closed 1 year ago

yflytom commented 1 year ago

version

<dependency>
            <groupId>com.cronutils</groupId>
            <artifactId>cron-utils</artifactId>
            <version>9.2.0</version>
        </dependency>

java code

import com.cronutils.builder.CronBuilder;
import com.cronutils.model.Cron;
import com.cronutils.model.definition.CronDefinition;
import com.cronutils.model.definition.CronDefinitionBuilder;
import com.cronutils.model.field.expression.FieldExpression;
import com.cronutils.model.field.value.SpecialChar;
import com.cronutils.model.time.ExecutionTime;
import com.cronutils.parser.CronParser;

import static com.cronutils.model.CronType.QUARTZ;
import static com.cronutils.model.field.expression.FieldExpressionFactory.*;

static final CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(QUARTZ);

Cron cron = CronBuilder.cron(cronDefinition)
                .withSecond(on(0))
                .withMinute(on(30))
                .withHour(on(8))
                .withDoM(on(12))
                .withDoW(questionMark())
                .withMonth(on(6).and(on(8)))
                .withYear(always())
                .instance();
System.out.println("cron: " + cron.asString());

        ExecutionTime executionTime = ExecutionTime.forCron(cron);
        Optional<ZonedDateTime> zonedDateTime = executionTime.nextExecution(ZonedDateTime.now());
        System.out.println("next: " + zonedDateTime.toString());
        Optional<ZonedDateTime> zonedDateTime1 = executionTime.lastExecution(ZonedDateTime.now());
        System.out.println("last time: " + zonedDateTime1.toString());
    ExecutionTime executionTime = ExecutionTime.forCron(cron); has error msg: [main] DEBUG com.cronutils.model.time.generator.AndFieldValueGenerator - Catched expected exception while generating candidates

com.cronutils.model.time.generator.NoSuchValueException: null

However, the cron expression is correct. Can the error message be ignored?

jmrozanec commented 1 year ago

@yflytom, the message can be ignored. It is just a debug message. If a real issue would arise, we would propagate the exception 😄 Best!

yflytom commented 1 year ago

:+1: