@Override public void addJob(JobDetail jobDetail) throws SchedulerException { addJobToScheduler(jobDetail); }
public TransactionalQuartzScheduledService(SingularSchedulerBean singularSchedulerBean) { super(false); setQuartzSchedulerFactory(singularSchedulerBean); }
@Override public void stop(Runnable callback) throws SchedulingException { stop(); callback.run(); }
@Bean public IScheduleService scheduleService() { return new TransactionalQuartzScheduledService(); }
/** * This method will Schedule the JOB. * * @param scheduledJob The Job for be schedule. */ private void internalSchedule(IScheduledJob scheduledJob) { super.schedule(new TransactionalScheduledJobProxy(scheduledJob)); getLogger().info("Job({}) scheduled.", scheduledJob); }
public SingularSchedulerBean(DataSource dataSource) { Properties properties = new Properties(); properties.setProperty("org.quartz.scheduler.instanceName", "SingularFlowScheduler"); properties.setProperty("org.quartz.scheduler.instanceId", "AUTO"); if (SingularProperties.get().isTrue(SINGULAR_QUARTZ_JOBSTORE_ENABLED)) { properties.setProperty("org.quartz.jobStore.useProperties", "false"); properties.setProperty("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX"); properties.setProperty("org.quartz.jobStore.driverDelegateClass", SingularProperties.getOpt(SINGULAR_QUARTZ_DRIVER_DELEGATE).orElse("org.quartz.impl.jdbcjobstore.StdJDBCDelegate")); properties.setProperty("org.quartz.jobStore.tablePrefix", SingularProperties.getOpt(SINGULAR_QUARTZ_TABLE_PREFIX).orElse("QRTZ_")); properties.setProperty("org.quartz.jobStore.isClustered", "true"); setDataSource(dataSource); setOverwriteExistingJobs(true); } else { properties.put("org.quartz.jobStore.class", "org.quartz.simpl.RAMJobStore"); } setQuartzProperties(properties); }
/** * Add trigger and the trigger's job detail. * * @param trigger the trigger. * @throws SchedulerException if could not start Quartz Scheduler. */ @Override public void addTrigger(Trigger trigger) throws SchedulerException { addJobToScheduler((JobDetail) trigger.getJobDataMap().get(SINGULAR_JOB_DETAIL_KEY)); addTriggerToScheduler(trigger); }
/** * Trigger the identified {@link org.quartz.JobDetail} (execute it now). * * @param jobKey * @throws SchedulerException */ @Override public void triggerJob(JobKey jobKey) throws SchedulerException { getScheduler().triggerJob(jobKey); }
/** * Configure the SchedulerBean for Singular. * This bean have to implents InitializingBean to work properly. * * @return SingularSchedulerBean instance. */ @Bean public SingularSchedulerBean schedulerFactoryBean(DataSource dataSource) { return new SingularSchedulerBean(dataSource); }
/** * Method containg the logic for Schedule the Job's, or put in a list to be executed. * * @param scheduledJob The Job for be schedule. */ @Override public synchronized void schedule(IScheduledJob scheduledJob) { if (contextRefreshed) { internalSchedule(scheduledJob); } else { toBeScheduled.add(scheduledJob); } }
/** * Method responsible for executed all Schedule after Spring initialize. */ @EventListener(ContextRefreshedEvent.class) public synchronized void initAfterBeans() { init(); contextRefreshed = true; toBeScheduled.forEach(this::internalSchedule); toBeScheduled.clear(); }
@Override public void start() throws SchedulingException { if (this.scheduler != null) { try { startScheduler(this.scheduler, this.startupDelay); } catch (SchedulerException ex) { throw new SchedulingException("Could not start Quartz Scheduler", ex); } } }
@Override public void addTrigger(Trigger trigger, JobDetail jobDetail) throws SchedulerException { trigger.getJobDataMap().put(SINGULAR_JOB_DETAIL_KEY, jobDetail); addTriggerToScheduler(trigger); }
public void initialize() throws SingularException { try { afterPropertiesSet(); } catch (Exception e) { throw SingularException.rethrow(e.getMessage(), e); } }
@Override public boolean isRunning() throws SchedulingException { if (this.scheduler != null) { try { return !this.scheduler.isInStandbyMode(); } catch (SchedulerException ex) { getLogger().trace(ex.getMessage(), ex); return false; } } return false; }
@Bean public IScheduleService scheduleService() { return new TransactionalQuartzScheduledService(); }
@Override public void schedule(IScheduledJob scheduledJob) { super.schedule(new TransactionalScheduledJobProxy(scheduledJob, transactionManager)); getLogger().info("Job({}) scheduled.", scheduledJob); } }
@Override public Set<JobKey> getAllJobKeys() throws SchedulerException { return getScheduler().getJobKeys(GroupMatcher.anyGroup()); } }
@Bean public IScheduleService scheduleService() { return new TransactionalQuartzScheduledService(); }
@Bean @DependsOn("schedulerFactoryBean") public IScheduleService scheduleService(SingularSchedulerBean schedulerFactoryBean) { return new TransactionalQuartzScheduledService(schedulerFactoryBean); }