How can I set Quartz cron trigger for run at one specifc date and time for once?
Eg: run something at 12.30pm on 2017-06-30 and never run again
If you want to achieve using CronTrigger try like below
<bean id="newTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="oneTimeJob"/>
<property name="cronExpression" value="0 30 12 30 6 ? 2017"/>
</bean>
Or As @scary wombat mention Use SimpleTrigger
SimpleTrigger trigger = (SimpleTrigger) newTrigger()
.withIdentity("trigger1", "group1")
.startAt(myStartTime) // some Date date 30.06.2017 12:30
.forJob("job1", "group1") // identify job with name, group strings
.build();