Code review comment: Actually, it should probably read `No @Scheduled methods found`...

Code under review:
void start(@Observes StartupEvent startupEvent) {
        if (schedulerConfig.getSchedules().isEmpty()) {
            LOGGER.warn("No Schedules found, Scheduler will not be started.");
            return;
        }
        if (running.compareAndSet(false, true)) {

            try {
                
                Properties props = new Properties();
                props.put("org.quartz.scheduler.instanceName", "DefaultQuartzScheduler");
                props.put("org.quartz.scheduler.rmi.export", false);
                props.put("org.quartz.scheduler.rmi.proxy", false);
                props.put("org.quartz.scheduler.wrapJobExecutionInUserTransaction", false);
                props.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
                props.put("org.quartz.threadPool.threadCount", "10");
                props.put("org.quartz.threadPool.threadPriority", "5");
                props.put("org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread", true);
                props.put("org.quartz.threadPool.threadPriority", "5");
                props.put("org.quartz.jobStore.misfireThreshold", "60000");
                props.put("org.quartz.jobStore.class", "org.quartz.simpl.RAMJobStore");

                SchedulerFactory schedulerFactory = new StdSchedulerFactory(props);
                scheduler = schedulerFactory.getScheduler();

                
                scheduler.setJobFactory(new JobFactory() {

                    @Override
                    public Job newJob(TriggerFiredBundle bundle, org.quartz.Scheduler scheduler) throws SchedulerException {
                        Class<? extends Job> jobClass = bundle.getJobDetail().getJobClass();
                        if (jobClass.equals(InvokerJob.class)) {
                            return new InvokerJob();
                        } else if (jobClass.equals(TimerJob.class)) {
                            return new TimerJob();
                        }
                        throw new IllegalStateException("Unsupported job class: " + jobClass);
                    }
                });

                for (Entry<String, List<Scheduled>> entry : schedulerConfig.getSchedules().entrySet()) {

                    Config config = ConfigProvider.getConfig();
                    int idx = 1;

                    for (Scheduled scheduled : entry.getValue()) {

                        
                        String name = idx++ + "_" + entry.getKey();
                        JobBuilder jobBuilder = JobBuilder.newJob(InvokerJob.class)
                                .withIdentity(name, Scheduler.class.getName())
                                .usingJobData(SchedulerDeploymentRecorder.INVOKER_KEY, entry.getKey());
                        ScheduleBuilder<?> scheduleBuilder;

                        String cron = scheduled.cron().trim();
                        if (!cron.isEmpty()) {
                            try {
                                if (SchedulerConfiguration.isConfigValue(cron)) {
                                    cron = config.getValue(SchedulerConfiguration.getConfigProperty(cron), String.class);
                                }
                                scheduleBuilder = CronScheduleBuilder.cronSchedule(cron);
                            } catch (RuntimeException e) {
                                
                                throw new IllegalStateException("Invalid cron() expression on: " + scheduled, e);
                            }
                        } else if (!scheduled.every().isEmpty()) {
                            String every = scheduled.every().trim();
                            if (SchedulerConfiguration.isConfigValue(every)) {
                                every = config.getValue(SchedulerConfiguration.getConfigProperty(every), String.class);
                            }
                            if (Character.isDigit(every.charAt(0))) {
                                every = "PT" + every;
                            }
                            Duration duration;
                            try {
                                duration = Duration.parse(every);
                            } catch (Exception e) {
                                
                                throw new IllegalStateException("Invalid every() expression on: " + scheduled, e);
                            }
                            scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
                                    .withIntervalInMilliseconds(duration.toMillis()).repeatForever();
                        } else {
                            throw new IllegalArgumentException("Invalid schedule configuration: " + scheduled);
                        }

                        TriggerBuilder<?> triggerBuilder = TriggerBuilder.newTrigger()
                                .withIdentity(name + "_trigger", Scheduler.class.getName())
                                .withSchedule(scheduleBuilder);
                        if (scheduled.delay() > 0) {
                            triggerBuilder.startAt(new Date(Instant.now()
                                    .plusMillis(scheduled.delayUnit().toMillis(scheduled.delay())).toEpochMilli()));
                        }
                        scheduler.scheduleJob(jobBuilder.build(), triggerBuilder.build());
                        LOGGER.debugf("Scheduled business method %s with config %s",
                                schedulerConfig.getDescription(entry.getKey()), scheduled);
                    }
                }

                scheduler.start();

            } catch (SchedulerException e) {
                throw new IllegalStateException("Unable to start Scheduler", e);
            }
        } else {
            LOGGER.warnf("Unable to start scheduler - already started");
        }
    }

Line commented on: LOGGER.warn("No Schedules found, Scheduler will not be started.");

Revised code:
void start(@Observes StartupEvent startupEvent) {
        if (schedulerConfig.getSchedules().isEmpty()) {
            LOGGER.warn("No @Scheduled methods found, scheduler will not be started.");
            return;
        }
        if (running.compareAndSet(false, true)) {

            try {
                
                Properties props = new Properties();
                props.put("org.quartz.scheduler.instanceName", "DefaultQuartzScheduler");
                props.put("org.quartz.scheduler.rmi.export", false);
                props.put("org.quartz.scheduler.rmi.proxy", false);
                props.put("org.quartz.scheduler.wrapJobExecutionInUserTransaction", false);
                props.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
                props.put("org.quartz.threadPool.threadCount", "10");
                props.put("org.quartz.threadPool.threadPriority", "5");
                props.put("org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread", true);
                props.put("org.quartz.jobStore.misfireThreshold", "60000");
                props.put("org.quartz.jobStore.class", "org.quartz.simpl.RAMJobStore");

                SchedulerFactory schedulerFactory = new StdSchedulerFactory(props);
                scheduler = schedulerFactory.getScheduler();

                
                scheduler.setJobFactory(new JobFactory() {

                    @Override
                    public Job newJob(TriggerFiredBundle bundle, org.quartz.Scheduler scheduler) throws SchedulerException {
                        Class<? extends Job> jobClass = bundle.getJobDetail().getJobClass();
                        if (jobClass.equals(InvokerJob.class)) {
                            return new InvokerJob();
                        } else if (jobClass.equals(TimerJob.class)) {
                            return new TimerJob();
                        }
                        throw new IllegalStateException("Unsupported job class: " + jobClass);
                    }
                });

                for (Entry<String, List<Scheduled>> entry : schedulerConfig.getSchedules().entrySet()) {

                    Config config = ConfigProvider.getConfig();
                    int idx = 1;

                    for (Scheduled scheduled : entry.getValue()) {

                        
                        String name = idx++ + "_" + entry.getKey();
                        JobBuilder jobBuilder = JobBuilder.newJob(InvokerJob.class)
                                .withIdentity(name, Scheduler.class.getName())
                                .usingJobData(SchedulerDeploymentRecorder.INVOKER_KEY, entry.getKey());
                        ScheduleBuilder<?> scheduleBuilder;

                        String cron = scheduled.cron().trim();
                        if (!cron.isEmpty()) {
                            try {
                                if (SchedulerConfiguration.isConfigValue(cron)) {
                                    cron = config.getValue(SchedulerConfiguration.getConfigProperty(cron), String.class);
                                }
                                scheduleBuilder = CronScheduleBuilder.cronSchedule(cron);
                            } catch (RuntimeException e) {
                                
                                throw new IllegalStateException("Invalid cron() expression on: " + scheduled, e);
                            }
                        } else if (!scheduled.every().isEmpty()) {
                            String every = scheduled.every().trim();
                            if (SchedulerConfiguration.isConfigValue(every)) {
                                every = config.getValue(SchedulerConfiguration.getConfigProperty(every), String.class);
                            }
                            if (Character.isDigit(every.charAt(0))) {
                                every = "PT" + every;
                            }
                            Duration duration;
                            try {
                                duration = Duration.parse(every);
                            } catch (Exception e) {
                                
                                throw new IllegalStateException("Invalid every() expression on: " + scheduled, e);
                            }
                            scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
                                    .withIntervalInMilliseconds(duration.toMillis()).repeatForever();
                        } else {
                            throw new IllegalArgumentException("Invalid schedule configuration: " + scheduled);
                        }

                        TriggerBuilder<?> triggerBuilder = TriggerBuilder.newTrigger()
                                .withIdentity(name + "_trigger", Scheduler.class.getName())
                                .withSchedule(scheduleBuilder);
                        if (scheduled.delay() > 0) {
                            triggerBuilder.startAt(new Date(Instant.now()
                                    .plusMillis(scheduled.delayUnit().toMillis(scheduled.delay())).toEpochMilli()));
                        }
                        scheduler.scheduleJob(jobBuilder.build(), triggerBuilder.build());
                        LOGGER.debugf("Scheduled business method %s with config %s",
                                schedulerConfig.getDescription(entry.getKey()), scheduled);
                    }
                }

                scheduler.start();

            } catch (SchedulerException e) {
                throw new IllegalStateException("Unable to start Scheduler", e);
            }
        } else {
            LOGGER.warnf("Unable to start scheduler - already started");
        }
    }