Use Quartz's DisallowConcurrentExecution instead.

Was using a boolean variable to prevent two indexing jobs from running
at the same time. Turns out Quartz already have a mechanism for
preventing this. The DisallowConcurrentExecution annotation tells Quartz
not to run two instances of the job at the same time. The execution gets
delayed until the current job is finished. Then the misfire instructions
come into play. The index job is set to do nothing on misfire, so
execution stops here. The default misfire threshold is set at 30
seconds.