org.quartz.StatefulJob Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quartz Show documentation
Show all versions of quartz Show documentation
Enterprise Job Scheduler
/*
* All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
*/
package org.quartz;
/**
* A marker interface for {@link org.quartz.JobDetail}
s that
* wish to have their state maintained between executions.
*
*
* StatefulJob
instances follow slightly different rules from
* regular Job
instances. The key difference is that their
* associated {@link JobDataMap}
is re-persisted after every
* execution of the job, thus preserving state for the next execution. The
* other difference is that stateful jobs are not allowed to execute
* concurrently, which means new triggers that occur before the completion of
* the execute(xx)
method will be delayed.
*
*
* @see DisallowConcurrentExecution
* @see PersistJobDataAfterExecution
*
* @see Job
* @see JobDetail
* @see JobDataMap
* @see Scheduler
*
*
* @deprecated use DisallowConcurrentExecution and/or PersistJobDataAfterExecution annotations instead.
*
* @author James House
*/
@Deprecated
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public interface StatefulJob extends Job {
/*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Interface.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
}