Spring.Scheduling.Quartz JobFactory implementation that supports objects as well as standard Quartz instances. Juergen Hoeller Marko Lahma (.NET) Called by the scheduler at the time of the trigger firing, in order to produce a instance on which to call Execute. It should be extremely rare for this method to throw an exception - basically only the the case where there is no way at all to instantiate and prepare the Job for execution. When the exception is thrown, the Scheduler will move all triggers associated with the Job into the state, which will require human intervention (e.g. an application restart after fixing whatever configuration problem led to the issue wih instantiating the Job. The TriggerFiredBundle from which the and other info relating to the trigger firing can be obtained. the newly instantiated Job SchedulerException if there is a problem instantiating the Job. Create an instance of the specified job class.

Can be overridden to post-process the job instance.

The TriggerFiredBundle from which the JobDetail and other info relating to the trigger firing can be obtained. The job instance.
Adapt the given job object to the Quartz Job interface. The default implementation supports straight Quartz Jobs as well as Runnables, which get wrapped in a DelegatingJob. The original instance of the specified job class. The adapted Quartz Job instance. Convenience subclass of Quartz's CronTrigger type, making property based usage easier.

CronTrigger itself is already property based but lacks sensible defaults. This class uses the Spring object name as job name, the Quartz default group ("DEFAULT") as job group, the current time as start time, and indefinite repetition, if not specified.

This class will also register the trigger with the job name and group of a given . This allows to automatically register a trigger for the corresponding JobDetail, instead of registering the JobDetail separately.

Juergen Hoeller
Interface to be implemented by Quartz Triggers that are aware of the JobDetail object that they are associated with.

SchedulerFactoryObject will auto-detect Triggers that implement this interface and register them for the respective JobDetail accordingly.

The alternative is to configure a Trigger for a Job name and group: This involves the need to register the JobDetail object separately with SchedulerFactoryObject.

Juergen Hoeller
Return the JobDetail that this Trigger is associated with. The associated JobDetail, or null if none Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Register objects in the JobDataMap via a given Map. These objects will be available to this Trigger only, in contrast to objects in the JobDetail's data map. Set the misfire instruction via the name of the corresponding constant in the CronTrigger class. Default is . Set the name of the object in the object factory that created this object. The name of the object in the factory.

Invoked after population of normal object properties but before an init callback like 's method or a custom init-method.

Set the JobDetail that this trigger should be associated with. This is typically used with a object reference if the JobDetail is a Spring-managed object. Alternatively, the trigger can also be associated with a job by name and group. Set the start delay as . The start delay is added to the current system UTC time (when the object starts) to control the of the trigger. If the start delay is non-zero it will always take precedence over start time. the start delay, as object. Helper class to map constant names to their values. Simple Quartz IJob adapter that delegates to a given instance. Typically used in combination with property injection on the Runnable instance, receiving parameters from the Quartz JobDataMap that way instead of via the JobExecutionContext. Juergen Hoeller Marko Lahma (.NET) Create a new DelegatingJob. The Runnable implementation to delegate to. Delegates execution to the underlying ThreadStart. Return the wrapped Runnable implementation. The delegate. Callback interface to be implemented by Spring-managed Quartz artifacts that need access to the SchedulerContext (without having natural access to it). Currently only supported for custom JobFactory implementations that are passed in via Spring's SchedulerFactoryObject. Juergen Hoeller Set the SchedulerContext of the current Quartz Scheduler. Executes this instance. Gets a value indicating whether´this instance prefers short lived tasks. true if prefers short lived tasks; otherwise, false. Convenience subclass of Quartz' JobDetail class that eases properties based usage. itself is already a object but lacks sensible defaults. This class uses the Spring object name as job name, and the Quartz default group ("DEFAULT") as job group if not specified. Juergen Hoeller Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Overridden to support any job class, to allow a custom JobFactory to adapt the given job class to the Quartz Job interface. Register objects in the JobDataMap via a given Map. These objects will be available to this Job only, in contrast to objects in the SchedulerContext.

Note: When using persistent Jobs whose JobDetail will be kept in the database, do not put Spring-managed objects or an ApplicationContext reference into the JobDataMap but rather into the SchedulerContext.

Set the name of the object in the object factory that created this object. The name of the object in the factory. Invoked after population of normal object properties but before an init callback like 's method or a custom init-method. Gets or sets the that this object runs in.

Normally this call will be used to initialize the object.

Invoked after population of normal object properties but before an init callback such as 's or a custom init-method. Invoked after the setting of any 's property.

In the case of application context initialization errors. If thrown by any application context methods.
Set the key of an IApplicationContext reference to expose in the JobDataMap, for example "applicationContext". Default is none. Only applicable when running in a Spring ApplicationContext.

In case of a QuartzJobObject, the reference will be applied to the Job instance as object property. An "applicationContext" attribute will correspond to a "setApplicationContext" method in that scenario.

Note that ObjectFactory callback interfaces like IApplicationContextAware are not automatically applied to Quartz Job instances, because Quartz itself is responsible for the lifecycle of its Jobs.

Note: When using persistent job stores where JobDetail contents will be kept in the database, do not put an IApplicationContext reference into the JobDataMap but rather into the SchedulerContext.

Subclass of Quartz's JobStoreCMT class that delegates to a Spring-managed DataSource instead of using a Quartz-managed connection pool. This JobStore will be used if SchedulerFactoryObject's "dbProvider" property is set.

Operations performed by this JobStore will properly participate in any kind of Spring-managed transaction, as it uses Spring's DataSourceUtils connection handling methods that are aware of a current transaction.

Note that all Quartz Scheduler operations that affect the persistent job store should usually be performed within active transactions, as they assume to get proper locks etc.

Juergen Hoeller Marko Lahma (.NET)
Name used for the transactional ConnectionProvider for Quartz. This provider will delegate to the local Spring-managed DataSource. Gets the non managed TX connection. Closes the connection. The connection and transaction holder. Gets or sets the name of the instance. The name of the instance. Quartz ThreadPool adapter that delegates to a Spring-managed TaskExecutor instance, specified on SchedulerFactoryObject. Juergen Hoeller Logger available to subclasses. Initializes a new instance of the class. Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Execute the given in the next available . The implementation of this interface should not throw exceptions unless there is a serious problem (i.e. a serious misconfiguration). If there are no available threads, rather it should either queue the Runnable, or block until a thread is available, depending on the desired strategy. Determines the number of threads that are currently available in in the pool. Useful for determining the number of times can be called before returning false. the number of currently available threads The implementation of this method should block until there is at least one available thread. Gets the size of the pool. The size of the pool. Quartz Job implementation that invokes a specified method. Automatically applied by MethodInvokingJobDetailFactoryObject. Simple implementation of the Quartz Job interface, applying the passed-in JobDataMap and also the SchedulerContext as object property values. This is appropriate because a new Job instance will be created for each execution. JobDataMap entries will override SchedulerContext entries with the same keys.

For example, let's assume that the JobDataMap contains a key "myParam" with value "5": The Job implementation can then expose a object property "myParam" of type int to receive such a value, i.e. a method "setMyParam(int)". This will also work for complex types like business objects etc.

Note: The QuartzJobObject class itself only implements the standard Quartz IJob interface. Let your subclass explicitly implement the Quartz IStatefulJob interface to mark your concrete job object as stateful.

Juergen Hoeller
This implementation applies the passed-in job data map as object property values, and delegates to ExecuteInternal afterwards. Execute the actual job. The job data map will already have been applied as object property values by execute. The contract is exactly the same as for the standard Quartz execute method. Invoke the method via the MethodInvoker. Set the MethodInvoker to use. IFactoryObject that exposes a JobDetail object that delegates job execution to a specified (static or non-static) method. Avoids the need to implement a one-line Quartz Job that just invokes an existing service method.

Derived from ArgumentConverting MethodInvoker to share common properties and behavior with MethodInvokingFactoryObject.

Supports both concurrently running jobs and non-currently running ones through the "concurrent" property. Jobs created by this MethodInvokingJobDetailFactoryObject are by default volatile and durable (according to Quartz terminology).

NOTE: JobDetails created via this FactoryObject are not serializable and thus not suitable for persistent job stores. You need to implement your own Quartz Job as a thin wrapper for each case where you want a persistent job to delegate to a specific service method.

Juergen Hoeller Alef Arendsen
Initializes a new instance of the class. Return an instance (possibly shared or independent) of the object managed by this factory. An instance (possibly shared or independent) of the object managed by this factory. If this method is being called in the context of an enclosing IoC container and returns , the IoC container will consider this factory object as not being fully initialized and throw a corresponding (and most probably fatal) exception. Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Callback for post-processing the JobDetail to be exposed by this FactoryObject.

The default implementation is empty. Can be overridden in subclasses.

the JobDetail prepared by this FactoryObject
Set the name of the job. Default is the object name of this FactoryObject. Set the group of the job. Default is the default group of the Scheduler. Specify whether or not multiple jobs should be run in a concurrent fashion. The behavior when one does not want concurrent jobs to be executed is realized through adding the interface. More information on stateful versus stateless jobs can be found here.

The default setting is to run jobs concurrently.

Gets the job detail. The job detail. Set a list of JobListener names for this job, referring to non-global JobListeners registered with the Scheduler. A JobListener name always refers to the name returned by the JobListener implementation. Set the name of the object in the object factory that created this object. The name of the object in the factory. Invoked after population of normal object properties but before an init callback like 's method or a custom init-method. Set the name of the target object in the Spring object factory. This is an alternative to specifying TargetObject allowing for non-singleton objects to be invoked. Note that specified "TargetObject" and "TargetType" values will override the corresponding effect of this "TargetObjectName" setting (i.e. statically pre-define the object type or even the target object). Sets the object factory. The object factory. Return the of object that this creates, or if not known in advance. Is the object managed by this factory a singleton or a prototype? Adapter that implements the Runnable interface as a configurable method invocation based on Spring's MethodInvoker.

Derives from ArgumentConvertingMethodInvoker, inheriting common configuration properties from MethodInvoker.

Useful to generically encapsulate a method invocation as timer task for java.util.Timer, in combination with a DelegatingTimerTask adapter. Can also be used with JDK 1.5's java.util.concurrent.Executor abstraction, which works with plain Runnables.

Extended by Spring's MethodInvokingTimerTaskFactoryObject adapter for TimerTask. Note that you can populate a ScheduledTimerTask object with a plain MethodInvokingRunnable instance as well, which will automatically get wrapped with a DelegatingTimerTask.

Juergen Hoeller
Logger instance shared by this instance and its sub-class instances. Initializes a new instance of the class. Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
This method has to be implemented in order that starting of the thread causes the object's run method to be called in that separately executing thread. Gets the invocation failure message. The invocation failure message. Subclass of Quartz' JobSchedulingDataProcessor that considers given filenames as Spring resource locations. Juergen Hoeller Initializes a new instance of the class. Returns an from the fileName as a resource. Name of the file. an from the fileName as a resource. Sets the that this object runs in. Invoked after population of normal objects properties but before an init callback such as 's or a custom init-method. Invoked before setting 's property. Common base class for accessing a Quartz Scheduler, i.e. for registering jobs, triggers and listeners on a instance. For concrete usage, check out the and classes. Juergen Hoeller Marko Lahma (.NET) Logger instance. Resource loader instance for sub-classes Initializes a new instance of the class. Register jobs and triggers (within a transaction, if possible). Add the given job to the Scheduler, if it doesn't already exist. Overwrites the job in any case if "overwriteExistingJobs" is set. the job to add true if the job was actually added, false if it already existed before Add the given trigger to the Scheduler, if it doesn't already exist. Overwrites the trigger in any case if "overwriteExistingJobs" is set. the trigger to add true if the trigger was actually added, false if it already existed before Register all specified listeners with the Scheduler. Template method that determines the Scheduler to operate on. To be implemented by subclasses. Set whether any jobs defined on this SchedulerFactoryObject should overwrite existing job definitions. Default is "false", to not overwrite already registered jobs that have been read in from a persistent job store. Set the locations of Quartz job definition XML files that follow the "job_scheduling_data_1_5" XSD. Can be specified to automatically register jobs that are defined in such files, possibly in addition to jobs defined directly on this SchedulerFactoryObject. Set the location of a Quartz job definition XML file that follows the "job_scheduling_data" XSD. Can be specified to automatically register jobs that are defined in such a file, possibly in addition to jobs defined directly on this SchedulerFactoryObject. Register a list of JobDetail objects with the Scheduler that this FactoryObject creates, to be referenced by Triggers. This is not necessary when a Trigger determines the JobDetail itself: In this case, the JobDetail will be implicitly registered in combination with the Trigger. Register a list of Quartz ICalendar objects with the Scheduler that this FactoryObject creates, to be referenced by Triggers. Map with calendar names as keys as Calendar objects as values Register a list of Trigger objects with the Scheduler that this FactoryObject creates. If the Trigger determines the corresponding JobDetail itself, the job will be automatically registered with the Scheduler. Else, the respective JobDetail needs to be registered via the "jobDetails" property of this FactoryObject. Specify Quartz SchedulerListeners to be registered with the Scheduler. Specify global Quartz JobListeners to be registered with the Scheduler. Such JobListeners will apply to all Jobs in the Scheduler. Specify named Quartz JobListeners to be registered with the Scheduler. Such JobListeners will only apply to Jobs that explicitly activate them via their name. Specify global Quartz TriggerListeners to be registered with the Scheduler. Such TriggerListeners will apply to all Triggers in the Scheduler. Specify named Quartz TriggerListeners to be registered with the Scheduler. Such TriggerListeners will only apply to Triggers that explicitly activate them via their name. Set the transaction manager to be used for registering jobs and triggers that are defined by this SchedulerFactoryObject. Default is none; setting this only makes sense when specifying a DataSource for the Scheduler. Sets the that this object runs in. Invoked after population of normal objects properties but before an init callback such as 's or a custom init-method. Invoked before setting 's property. Spring class for accessing a Quartz Scheduler, i.e. for registering jobs, triggers and listeners on a given instance. Juergen Hoeller Marko Lahma (.NET) Template method that determines the Scheduler to operate on. Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Finds the scheduler. Name of the scheduler. Specify the Quartz Scheduler to operate on via its scheduler name in the Spring application context or also in the Quartz {@link org.quartz.impl.SchedulerRepository}. Schedulers can be registered in the repository through custom bootstrapping, e.g. via the or factory classes. However, in general, it's preferable to use Spring's which includes the job/trigger/listener capabilities of this accessor as well. Return the Quartz Scheduler instance that this accessor operates on. Return the Quartz Scheduler instance that this accessor operates on. FactoryObject that sets up a Quartz Scheduler and exposes it for object references.

Allows registration of JobDetails, Calendars and Triggers, automatically starting the scheduler on initialization and shutting it down on destruction. In scenarios that just require static registration of jobs at startup, there is no need to access the Scheduler instance itself in application code.

For dynamic registration of jobs at runtime, use a object reference to this SchedulerFactoryObject to get direct access to the Quartz Scheduler (). This allows you to create new jobs and triggers, and also to control and monitor the entire Scheduler.

Note that Quartz instantiates a new Job for each execution, in contrast to Timer which uses a TimerTask instance that is shared between repeated executions. Just JobDetail descriptors are shared.

When using persistent jobs, it is strongly recommended to perform all operations on the Scheduler within Spring-managed transactions. Else, database locking will not properly work and might even break.

The preferred way to achieve transactional execution is to demarcate declarative transactions at the business facade level, which will automatically apply to Scheduler operations performed within those scopes. Alternatively, define a TransactionProxyFactoryObject for the Scheduler itself.

Juergen Hoeller Marko Lahma (.NET)
Default thread count to be set to thread pool. Property name for thread count in thread pool. Initializes a new instance of the class. Shut down the Quartz scheduler on object factory Shutdown, stopping all scheduled jobs. Template method that determines the Scheduler to operate on. To be implemented by subclasses. Return an instance (possibly shared or independent) of the object managed by this factory. An instance (possibly shared or independent) of the object managed by this factory. If this method is being called in the context of an enclosing IoC container and returns , the IoC container will consider this factory object as not being fully initialized and throw a corresponding (and most probably fatal) exception. Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Load and/or apply Quartz properties to the given SchedulerFactory. the SchedulerFactory to Initialize Merges the properties into map. This effectively also overwrites existing properties with same key in map. The properties to merge into given map. The map to merge to. Create the Scheduler instance for the given factory and scheduler name. Called by afterPropertiesSet. Default implementation invokes SchedulerFactory's GetScheduler method. Can be overridden for custom Scheduler creation. the factory to create the Scheduler with the name of the scheduler to create the Scheduler instance Expose the specified context attributes and/or the current IApplicationContext in the Quartz SchedulerContext. Start the Quartz Scheduler, respecting the "startDelay" setting. the Scheduler to start the time span to wait before starting the Scheduler asynchronously Starts this instance. Stops this instance. Handles the application context's refresh event and starts the scheduler. Return the IDbProvider for the currently configured Quartz Scheduler, to be used by LocalDataSourceJobStore. This instance will be set before initialization of the corresponding Scheduler, and reset immediately afterwards. It is thus only available during configuration. Return the TaskExecutor for the currently configured Quartz Scheduler, to be used by LocalTaskExecutorThreadPool. This instance will be set before initialization of the corresponding Scheduler, and reset immediately afterwards. It is thus only available during configuration. Set the Quartz SchedulerFactory implementation to use. Default is StdSchedulerFactory, reading in the standard quartz.properties from Quartz' dll. To use custom Quartz properties, specify "configLocation" or "quartzProperties". The scheduler factory class. Set the name of the Scheduler to fetch from the SchedulerFactory. If not specified, the default Scheduler will be used. The name of the scheduler. Set the location of the Quartz properties config file, for example as assembly resource "assembly:quartz.properties". Note: Can be omitted when all necessary properties are specified locally via this object, or when relying on Quartz' default configuration. Set Quartz properties, like "quartz.threadPool.type". Can be used to override values in a Quartz properties config file, or to specify all necessary properties locally. Set the Spring TaskExecutor to use as Quartz backend. Exposed as thread pool through the Quartz SPI. By default, a Quartz SimpleThreadPool will be used, configured through the corresponding Quartz properties. The task executor. Register objects in the Scheduler context via a given Map. These objects will be available to any Job that runs in this Scheduler. Note: When using persistent Jobs whose JobDetail will be kept in the database, do not put Spring-managed object or an ApplicationContext reference into the JobDataMap but rather into the SchedulerContext. Map with string keys and any objects as values (for example Spring-managed objects) Set the key of an IApplicationContext reference to expose in the SchedulerContext, for example "applicationContext". Default is none. Only applicable when running in a Spring ApplicationContext.

Note: When using persistent Jobs whose JobDetail will be kept in the database, do not put an IApplicationContext reference into the JobDataMap but rather into the SchedulerContext.

In case of a QuartzJobObject, the reference will be applied to the Job instance as object property. An "applicationContext" attribute will correspond to a "setApplicationContext" method in that scenario.

Note that ObjectFactory callback interfaces like IApplicationContextAware are not automatically applied to Quartz Job instances, because Quartz itself is reponsible for the lifecycle of its Jobs.

The application context scheduler context key.
Set the Quartz JobFactory to use for this Scheduler.

Default is Spring's , which supports standard Quartz instances. Note that this default only applies to a local Scheduler, not to a RemoteScheduler (where setting a custom JobFactory is not supported by Quartz).

Specify an instance of Spring's here (typically as an inner object definition) to automatically populate a job's object properties from the specified job data map and scheduler context.

Set whether to expose the Spring-managed instance in the Quartz . Default is "false", since the Spring-managed Scheduler is usually exclusively intended for access within the Spring context. Switch this flag to "true" in order to expose the Scheduler globally. This is not recommended unless you have an existing Spring application that relies on this behavior. Set whether to automatically start the scheduler after initialization. Default is "true"; set this to "false" to allow for manual startup. Set the time span to wait after initialization before starting the scheduler asynchronously. Default is 0, meaning immediate synchronous startup on initialization of this object. Setting this to 10 or 20 seconds makes sense if no jobs should be run before the entire application has started up. Set whether to wait for running jobs to complete on Shutdown. Default is "false". true if [wait for jobs to complete on Shutdown]; otherwise, false. Set the default DbProvider to be used by the Scheduler. If set, this will override corresponding settings in Quartz properties.

Note: If this is set, the Quartz settings should not define a job store "dataSource" to avoid meaningless double configuration.

A Spring-specific subclass of Quartz' JobStoreSupport will be used. It is therefore strongly recommended to perform all operations on the Scheduler within Spring-managed transactions. Else, database locking will not properly work and might even break (e.g. if trying to obtain a lock on Oracle without a transaction).

Set the name of the object in the object factory that created this object. The name of the object in the factory.

Invoked after population of normal object properties but before an init callback like 's method or a custom init-method.

Gets a value indicating whether this is running. true if running; otherwise, false. Sets the that this object runs in.

Normally this call will be used to initialize the object.

Invoked after population of normal object properties but before an init callback such as 's or a custom init-method. Invoked after the setting of any 's property.

In the case of application context initialization errors. If thrown by any application context methods.
Return the of object that this creates, or if not known in advance. Is the object managed by this factory a singleton or a prototype? Generic scheduling exception. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The original exception. Subclass of Quartz's SimpleThreadPool that implements Spring's TaskExecutor interface and listens to Spring lifecycle callbacks. Juergen Hoeller Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Executes the specified task. The task. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Set whether to wait for running jobs to complete on Shutdown. Default is "false". true if [wait for jobs to complete on shutdown]; otherwise, false. This task executor prefers short-lived work units. Convenience subclass of Quartz's class, making properties based usage easier.

SimpleTrigger itself is already a PONO but lacks sensible defaults. This class uses the Spring object name as job name, the Quartz default group ("DEFAULT") as job group, the current time as start time, and indefinite repetition, if not specified.

This class will also register the trigger with the job name and group of a given . This allows to automatically register a trigger for the corresponding JobDetail, instead of registering the JobDetail separately.

Juergen Hoeller
Initializes a new instance of the class. Invoked by an after it has injected all of an object's dependencies.

This method allows the object instance to perform the kind of initialization only possible when all of it's dependencies have been injected (set), and to throw an appropriate exception in the event of misconfiguration.

Please do consult the class level documentation for the interface for a description of exactly when this method is invoked. In particular, it is worth noting that the and callbacks will have been invoked prior to this method being called.

In the event of misconfiguration (such as the failure to set a required property) or if initialization fails.
Register objects in the JobDataMap via a given Map.

These objects will be available to this Trigger only, in contrast to objects in the JobDetail's data map.

Set the misfire instruction via the name of the corresponding constant in the SimpleTrigger class. Default is . Set the delay before starting the job for the first time. The given time span will be added to the current time to calculate the start time. Default is . This delay will just be applied if no custom start time was specified. However, in typical usage within a Spring context, the start time will be the container startup time anyway. Specifying a relative delay is appropriate in that case. Set the name of the object in the object factory that created this object. The name of the object in the factory.

Invoked after population of normal object properties but before an init callback like 's method or a custom init-method.

Set the JobDetail that this trigger should be associated with.

This is typically used with a object reference if the JobDetail is a Spring-managed object. Alternatively, the trigger can also be associated with a job by name and group.

Adapts Spring's to Quartz's . Initializes a new instance of the class. The Spring db provider. Creates the command. Creates the command builder. Creates the connection. Creates the parameter. Shutdowns this instance. Gets or sets the connection string. The connection string. Gets the metadata. The metadata. Helper class to map between Quartz and Spring DB metadata. Initializes a new instance of the class. The metadata to wrap and adapt. Gets or sets the name of the product. The name of the product. Gets or sets the type of the connection. The type of the connection. Gets or sets the type of the command. The type of the command. Gets or sets the type of the parameter. The type of the parameter. Gets or sets the type of the command builder. The type of the command builder. Gets or sets the command builder derive parameters method. The command builder derive parameters method. Gets or sets the parameter name prefix. The parameter name prefix. Gets or sets the type of the exception. The type of the exception. Gets or sets a value indicating whether [bind by name]. true if [bind by name]; otherwise, false. Gets or sets the type of the parameter db. The type of the parameter db. Gets or sets the parameter db type property. The parameter db type property. Gets or sets the parameter is nullable property. The parameter is nullable property. Gets the type of the db binary. The type of the db binary. Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. true if [use parameter name prefix in parameter collection]; otherwise, false. Subclass of AdaptableJobFactory that also supports Spring-style dependency injection on object properties. This is essentially the direct equivalent of Spring's QuartzJobObject in the shape of a Quartz JobFactory. Applies scheduler context, job data map and trigger data map entries as object property values. If no matching object property is found, the entry is by default simply ignored. This is analogous to QuartzJobObject's behavior. Juergen Hoeller Create the job instance, populating it with property values taken from the scheduler context, job data map and trigger data map. Return whether the given job object is eligible for having its object properties populated.

The default implementation ignores QuartzJobObject instances, which will inject object properties themselves.

The job object to introspect.
Specify the unknown properties (not found in the object) that should be ignored. Default is null, indicating that all unknown properties should be ignored. Specify an empty array to throw an exception in case of any unknown properties, or a list of property names that should be ignored if there is no corresponding property found on the particular job class (all other unknown properties will still trigger an exception). Set the SchedulerContext of the current Quartz Scheduler. Extension of the MethodInvokingJob, implementing the StatefulJob interface. Quartz checks whether or not jobs are stateful and if so, won't let jobs interfere with each other. Summary description for TaskRejectedException. Exception that wraps an exception thrown from a target method. Propagated to the Quartz scheduler from a Job that reflectively invokes an arbitrary target method. Juergen Hoeller Constructor for JobMethodInvocationFailedException. the MethodInvoker used for reflective invocation the root cause (as thrown from the target method)