Package org.apache.sling.event.jobs
Interface Job
A job
Property Types
In general all scalar types and all serializable classes are supported as
property types. However, in order for deseralizing classes these must be
exported. Serializable classes are not searchable in the query either.
Due to the above mentioned potential problems, it is advisable to not use
custom classes as job properties, but rather use out of the box supported
types in combination with collections.
A resource provider might convert numbers to a different type, JCR is well-known
for this behavior as it only supports long but neither integer nor short.
Therefore if you are dealing with numbers, use the
getProperty(String, Class)
method to get the correct type instead of directly casting it.- Since:
- 1.2
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThis property contains the finished date once a job is marked as finished.static final StringThis property is set by the job handling and contains a calendar object specifying the date and time when this job has been created.static final StringThis property is set by the job handling and contains the Sling instance ID of the instance where this job has been created.static final StringThis is an optional property containing a human readable description for the jobstatic final StringThis property contains the optional ETA for a job.static final StringThis property contains the optional output log of a job consumer.static final StringThis property contains optional progress information about a job, the number of completed steps.static final StringThis property contains optional progress information about a job, the number of steps the job consumer will perform.static final StringThe name of the job queue processing this job.static final StringThe property to track the retry maximum retry count for jobs.static final StringThe property to track the retry count for jobs.static final StringThe property to set a retry delay.static final StringThis property is set by the job handling and contains a calendar object specifying the date and time when this job has been started.static final StringThis property is set by the job handling and contains the Sling instance ID of the instance where this job should be processed.static final StringThis is an optional property containing a human readable title for the jobstatic final StringThis property contains the optional result message of a job consumer. -
Method Summary
Modifier and TypeMethodDescriptionThis property is set by the job handling and contains a calendar object specifying the date and time when this job has been created.This property is set by the job handling and contains the Sling instance ID of the instance where this job has been created.If the job is cancelled or succeeded, this method will return the finish date.intIf the job is in processing, return the optional information about the finished steps.getId()Unique job ID.Get the job stateintThe property to track the retry maximum retry count for jobs.This property is set by the job handling and contains a calendar object specifying the date and time when this job has been started.If the job is in processing, return the optional ETA for this job.String[]This method returns the optional progress log from the last job processing.intIf the job is in processing, return the optional progress step count if available.getProperty(String name) Get the value of a property.<T> TgetProperty(String name, Class<T> type) Get a named property and convert it into the given type.<T> TgetProperty(String name, T defaultValue) Get a named property and convert it into the given type.Get all property names.The name of the job queue processing this job.This method returns the message from the last job processing, regardless whether the processing failed, succeeded or was cancelled.intOn first execution the value of this property is zero.This property is set by the job handling and contains the Sling instance ID of the instance where this job should be processed.getTopic()The job topic.
-
Field Details
-
PROPERTY_JOB_QUEUE_NAME
The name of the job queue processing this job. This property is set by the job handling when the job is processed. If this property is set by the client creating the job it's value is ignored- See Also:
-
PROPERTY_JOB_RETRY_COUNT
The property to track the retry count for jobs. Value is of type Integer. On first execution the value of this property is zero. This property is managed by the job handling. If this property is set by the client creating the job it's value is ignored- See Also:
-
PROPERTY_JOB_RETRIES
The property to track the retry maximum retry count for jobs. Value is of type Integer. This property is managed by the job handling. If this property is set by the client creating the job it's value is ignored- See Also:
-
PROPERTY_JOB_CREATED
This property is set by the job handling and contains a calendar object specifying the date and time when this job has been created. If this property is set by the client creating the job it's value is ignored- See Also:
-
PROPERTY_JOB_CREATED_INSTANCE
This property is set by the job handling and contains the Sling instance ID of the instance where this job has been created.- See Also:
-
PROPERTY_JOB_TARGET_INSTANCE
This property is set by the job handling and contains the Sling instance ID of the instance where this job should be processed.- See Also:
-
PROPERTY_JOB_STARTED_TIME
This property is set by the job handling and contains a calendar object specifying the date and time when this job has been started. This property is only set if the job is currently in processing If this property is set by the client creating the job it's value is ignored- See Also:
-
PROPERTY_JOB_RETRY_DELAY
The property to set a retry delay. Value is of type Long and specifies milliseconds. This property can be used to override the retry delay from the queue configuration. But it should only be used very rarely as the queue configuration should be the one in charge.- See Also:
-
PROPERTY_JOB_PROGRESS_LOG
This property contains the optional output log of a job consumer. The value of this property is a string array. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_JOB_PROGRESS_ETA
This property contains the optional ETA for a job. The value of this property is aCalendarobject. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_JOB_PROGRESS_STEPS
This property contains optional progress information about a job, the number of steps the job consumer will perform. Each step is assumed to consume roughly the same amount if time. The value of this property is an integer. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_JOB_PROGRESS_STEP
This property contains optional progress information about a job, the number of completed steps. The value of this property is an integer. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_RESULT_MESSAGE
This property contains the optional result message of a job consumer. The value of this property is a string. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_FINISHED_DATE
This property contains the finished date once a job is marked as finished. The value of this property is aCalendarobject. This property is read-only and can't be specified when the job is created.- Since:
- 1.3
- See Also:
-
PROPERTY_JOB_TITLE
This is an optional property containing a human readable title for the job- Since:
- 1.3
- See Also:
-
PROPERTY_JOB_DESCRIPTION
This is an optional property containing a human readable description for the job- Since:
- 1.3
- See Also:
-
-
Method Details
-
getTopic
String getTopic()The job topic.- Returns:
- The job topic
-
getId
String getId()Unique job ID.- Returns:
- The unique job ID.
-
getProperty
Get the value of a property.- Parameters:
name- The property name- Returns:
- The value of the property or
null
-
getPropertyNames
Get all property names.- Returns:
- A set of property names.
-
getProperty
Get a named property and convert it into the given type. This method does not support conversion into a primitive type or an array of a primitive type. It should returnnullin this case.- Type Parameters:
T- The class of the type- Parameters:
name- The name of the propertytype- The class of the type- Returns:
- Return named value converted to type T or
nullif non existing or can't be converted.
-
getProperty
Get a named property and convert it into the given type. This method does not support conversion into a primitive type or an array of a primitive type. It should return the default value in this case.- Type Parameters:
T- The class of the type- Parameters:
name- The name of the propertydefaultValue- The default value to use if the named property does not exist or cannot be converted to the requested type. The default value is also used to define the type to convert the value to. If this isnullany existing property is not converted.- Returns:
- Return named value converted to type T or the default value if non existing or can't be converted.
-
getRetryCount
int getRetryCount()On first execution the value of this property is zero. This property is managed by the job handling.- Returns:
- The retry count.
-
getNumberOfRetries
int getNumberOfRetries()The property to track the retry maximum retry count for jobs. This property is managed by the job handling.- Returns:
- The number of retries.
-
getQueueName
String getQueueName()The name of the job queue processing this job. This property is set by the job handling when the job is processed.- Returns:
- The queue name or
null
-
getTargetInstance
String getTargetInstance()This property is set by the job handling and contains the Sling instance ID of the instance where this job should be processed.- Returns:
- The sling ID or
null
-
getProcessingStarted
Calendar getProcessingStarted()This property is set by the job handling and contains a calendar object specifying the date and time when this job has been started. This property is only set if the job is currently in processing- Returns:
- The time the processing started or
null.
-
getCreated
Calendar getCreated()This property is set by the job handling and contains a calendar object specifying the date and time when this job has been created.- Returns:
- The time the job was created.
-
getCreatedInstance
String getCreatedInstance()This property is set by the job handling and contains the Sling instance ID of the instance where this job has been created.- Returns:
- The instance id the job was created on
-
getJobState
Job.JobState getJobState()Get the job state- Returns:
- The job state.
- Since:
- 1.3
-
getFinishedDate
Calendar getFinishedDate()If the job is cancelled or succeeded, this method will return the finish date.- Returns:
- The finish date or
null - Since:
- 1.3
-
getResultMessage
String getResultMessage()This method returns the message from the last job processing, regardless whether the processing failed, succeeded or was cancelled. The message is optional and can be set by a job consumer.- Returns:
- The result message or
null - Since:
- 1.3
-
getProgressLog
String[] getProgressLog()This method returns the optional progress log from the last job processing. The log is optional and can be set by a job consumer.- Returns:
- The log or
null - Since:
- 1.3
-
getProgressStepCount
int getProgressStepCount()If the job is in processing, return the optional progress step count if available. The progress information is optional and can be set by a job consumer.- Returns:
- The progress step count or
-1. - Since:
- 1.3
-
getFinishedProgressStep
int getFinishedProgressStep()If the job is in processing, return the optional information about the finished steps. This progress information is optional and can be set by a job consumer. In combination withgetProgressStepCount()this can be used to calculate a progress bar.- Returns:
- The number of the finished progress step or
0 - Since:
- 1.3
-
getProgressETA
Calendar getProgressETA()If the job is in processing, return the optional ETA for this job. The progress information is optional and can be set by a job consumer.- Returns:
- The estimated ETA or
null - Since:
- 1.3
-