public class DefaultCronJobService extends AbstractBusinessService implements CronJobService
AbstractService.SerializableDTO| Modifier and Type | Field and Description |
|---|---|
protected static int |
DEFAULT_LOG_BUNCH
Default amount of
JobLogModel entries. |
modelService, sessionService, txManagertenant| Constructor and Description |
|---|
DefaultCronJobService() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
canRunOnThisNode(CronJobModel cronJob) |
CronJobModel |
getCronJob(java.lang.String code)
Gets the cronjob identified unique by given code.
|
protected java.lang.String |
getCronJobExpression(CronJobModel cronJob) |
<C extends CronJobModel,J extends JobModel> |
getCronJobFactory(ServicelayerJobModel slayerJobModel)
Returns
CronJobFactory bean instance for a ServicelayerJobModel see
org.springframework.context.ApplicationContext#getBean(String) . |
JobModel |
getJob(java.lang.String code)
Gets the job identified unique by given code.
|
protected Converter<java.util.List<JobLogModel>,java.lang.String> |
getJobLogConverter() |
java.lang.String |
getLogsAsText(CronJobModel cronJobModel)
Returns text representation of top 500
CronJobModel.getLogs() entries for a given CronJobModel, as
concatenated and decorated content of its JobLogModel.getMessage(). |
java.lang.String |
getLogsAsText(CronJobModel cronJobModel,
int count)
Returns text representation of top given
count CronJobModel.getLogs() entries for a given
CronJobModel, as concatenated and decorated content of its JobLogModel.getMessage(). |
JobPerformable<? extends CronJobModel> |
getPerformable(ServicelayerJobModel slayerJobModel)
Returns
JobPerformable bean instance for a ServicelayerJobModel see
org.springframework.context.ApplicationContext#getBean(String) . |
java.util.List<CronJobModel> |
getRunningOrRestartedCronJobs()
Returns list of
CronJobModel instances running on the platform regardless the cluster node. |
boolean |
isAbortable(CronJobModel cronJob)
Checks if the cronjob model is abortable.
|
boolean |
isError(CronJobModel cronJob)
Checks whether the cronjob was executed not successfully.
|
boolean |
isFinished(CronJobModel cronJob)
Checks whether the cronjob has finished execution and is not running or paused anymore.
|
boolean |
isPaused(CronJobModel cronJob)
Checks whether the cronjob is paused.
|
boolean |
isPerformable(CronJobModel cronJob)
Checks if the cronjob model is performable.
|
boolean |
isRunning(CronJobModel cronJob)
Checks whether the cronjob has not finished or paused execution yet and is still running regardless if has it been
restarted or not.
|
boolean |
isSuccessful(CronJobModel cronJob)
Checks whether the cronjob was executed successfully.
|
void |
performCronJob(CronJobModel cronJob)
Performs given
Cronjob by starting its Job on the cluster node. |
void |
performCronJob(CronJobModel cronJob,
boolean synchronous)
Performs given
Cronjob by starting its Job. |
void |
requestAbortCronJob(CronJobModel cronJob)
|
void |
setClusterService(ClusterService clusterService) |
void |
setCronJobCodeGenerator(PersistentKeyGenerator cronJobCodeGenerator) |
void |
setCronJobDao(CronJobDao cronJobDao) |
void |
setJobDao(JobDao jobDao) |
void |
setJobLogConverter(Converter jobLogConverter) |
void |
setJobLogDao(JobLogDao jobLogDao) |
void |
setRunCronJobMessageBuilder(RunCronJobMessageCreatorAndSender runCronJobMessageBuilder)
Deprecated.
since 6.1.0
|
void |
setTaskService(TaskService taskService) |
void |
setTenantService(TenantService tenantService)
Deprecated.
since 6.1.0
|
protected void |
startOnDifferentNodeViaTask(CronJobModel cronJob) |
getModelService, getSessionService, getTxManager, setModelService, setSessionService, setTxManagerafterPropertiesSet, getCurrentTenant, setBeanName, setCurrentTenant, writeReplaceprotected static final int DEFAULT_LOG_BUNCH
JobLogModel entries.public void performCronJob(CronJobModel cronJob, boolean synchronous)
CronJobServiceCronjob by starting its Job. If synchronous is true, the
Job will be performed synchronous, which means that this method will return the control to its caller
as recently as this Job is performed. Synchronous execution is especially useful for short Jobs or
testing purpose (JUnit tests for example). If synchronous is false, the Job will be
performed asynchronous by executing the Job in a separate Thread. This method ignores a
nodeId CronJobModel.getNodeID() and does not start a Job on the cluster node.performCronJob in interface CronJobServicecronJob - which will be usedsynchronous - true if the Job should be performed synchronously, false if the
Job should be performed asynchronouslypublic void performCronJob(CronJobModel cronJob)
CronJobServiceCronjob by starting its Job on the cluster node. The node is given by
JobModel.getNodeID(), the Job will be performed asynchronous, which means that this method
will return the control to its caller as recently as this Job is performed. Call for a
CronJobModel with nodeId CronJobModel.getNodeID() equal to current nodeId
ClusterService.getClusterId() is the same as call
CronJobService.performCronJob(CronJobModel, boolean) with synchronous equal falseperformCronJob in interface CronJobServicecronJob - which will be usedprotected boolean canRunOnThisNode(CronJobModel cronJob)
protected void startOnDifferentNodeViaTask(CronJobModel cronJob)
protected java.lang.String getCronJobExpression(CronJobModel cronJob)
public void requestAbortCronJob(CronJobModel cronJob)
CronJobModel.REQUESTABORT to true for non running CronJobModel , abortable
CronJobModel. Above action is performed if CronJobModel.getStatus() is in a
CronJobStatus.RUNNING or CronJobStatus.RUNNINGRESTART.requestAbortCronJob in interface CronJobServicecronJob - which will be usedjava.lang.IllegalStateException - in case given CronJobModel is not an abortable.public CronJobModel getCronJob(java.lang.String code)
CronJobServicegetCronJob in interface CronJobServicecode - code for which a cronjob is neededpublic JobModel getJob(java.lang.String code)
CronJobServicegetJob in interface CronJobServicecode - code for which a job is neededpublic boolean isFinished(CronJobModel cronJob)
CronJobServiceisFinished in interface CronJobServicecronJob - cronjob to check forpublic boolean isPaused(CronJobModel cronJob)
CronJobServiceisPaused in interface CronJobServicecronJob - cronjob to check forpublic boolean isRunning(CronJobModel cronJob)
CronJobServiceisRunning in interface CronJobServicecronJob - cronjob to check forpublic boolean isSuccessful(CronJobModel cronJob)
CronJobServiceCronJobService.isFinished(CronJobModel) returns true).isSuccessful in interface CronJobServicecronJob - cronjob to check forpublic boolean isError(CronJobModel cronJob)
CronJobServiceCronJobService.isFinished(CronJobModel) returns true).isError in interface CronJobServicecronJob - cronjob to check forpublic java.util.List<CronJobModel> getRunningOrRestartedCronJobs()
CronJobServiceCronJobModel instances running on the platform regardless the cluster node.getRunningOrRestartedCronJobs in interface CronJobServicepublic boolean isPerformable(CronJobModel cronJob)
CronJobServiceisPerformable in interface CronJobServicecronJob - which will be usedpublic boolean isAbortable(CronJobModel cronJob)
CronJobServiceisAbortable in interface CronJobServicecronJob - which will be usedpublic JobPerformable<? extends CronJobModel> getPerformable(ServicelayerJobModel slayerJobModel)
CronJobServiceJobPerformable bean instance for a ServicelayerJobModel see
org.springframework.context.ApplicationContext#getBean(String) .getPerformable in interface CronJobServicepublic <C extends CronJobModel,J extends JobModel> CronJobFactory<C,J> getCronJobFactory(ServicelayerJobModel slayerJobModel)
CronJobServiceCronJobFactory bean instance for a ServicelayerJobModel see
org.springframework.context.ApplicationContext#getBean(String) .getCronJobFactory in interface CronJobServicepublic java.lang.String getLogsAsText(CronJobModel cronJobModel)
CronJobServiceCronJobModel.getLogs() entries for a given CronJobModel, as
concatenated and decorated content of its JobLogModel.getMessage().getLogsAsText in interface CronJobServicepublic java.lang.String getLogsAsText(CronJobModel cronJobModel, int count)
CronJobServicecount CronJobModel.getLogs() entries for a given
CronJobModel, as concatenated and decorated content of its JobLogModel.getMessage().getLogsAsText in interface CronJobService@Deprecated public void setRunCronJobMessageBuilder(RunCronJobMessageCreatorAndSender runCronJobMessageBuilder)
@Deprecated public void setTenantService(TenantService tenantService)
public void setClusterService(ClusterService clusterService)
public void setJobLogConverter(Converter jobLogConverter)
protected Converter<java.util.List<JobLogModel>,java.lang.String> getJobLogConverter()
public void setCronJobDao(CronJobDao cronJobDao)
public void setJobDao(JobDao jobDao)
public void setJobLogDao(JobLogDao jobLogDao)
public void setCronJobCodeGenerator(PersistentKeyGenerator cronJobCodeGenerator)
public void setTaskService(TaskService taskService)
Copyright © 2018 SAP SE. All Rights Reserved.