org.quartz.core.JobRunShellFactory Maven / Gradle / Ivy
/* * Copyright 2004-2005 OpenSymphony * * 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. * */ /* * Previously Copyright (c) 2001-2004 James House */ package org.quartz.core; import org.quartz.Scheduler; import org.quartz.SchedulerConfigException; import org.quartz.SchedulerException; /** *
instance. * * ** Responsible for creating the instances of
{@link JobRunShell}
* to be used within the{@link QuartzScheduler} * Although this interface looks a lot like an 'object pool', implementations * do not have to support the re-use of instances. If an implementation does * not wish to pool instances, then the
* * @author James House */ public interface JobRunShellFactory { /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Interface. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /** *borrowJobRunShell()
* method would simply create a new instance, and thereturnJobRunShell *
method would do nothing. ** Initialize the factory, providing a handle to the
*/ public void initialize(Scheduler scheduler, SchedulingContext schedCtxt) throws SchedulerConfigException; /** *Scheduler
* that should be made available within theJobRunShell
and * theJobExecutionCOntext
s within it, and a handle to the *SchedulingContext
that the shell will use in its own * operations with theJobStore
. ** Called by the
*/ public JobRunShell borrowJobRunShell() throws SchedulerException; /** *{@link org.quartz.core.QuartzSchedulerThread}
* to obtain instances of{@link JobRunShell}
. ** Called by the
*/ public void returnJobRunShell(JobRunShell jobRunShell); }{@link org.quartz.core.QuartzSchedulerThread}
* to return instances of{@link JobRunShell}
. *