Java supports this kind of scheduling inherently throughand achieving a fixed delay using Quartz is not that straight forward (especially when misfires are considered).
One might consider the easy approach — rescheduling itself from within the execute method of the Quartz job.
Here is the implementation. You would keep the reschedule method in the util class as a static method.
However, a better approach would be to use Quartz listeners:
Here is the implementation of the listener
Here is the usage: