Package pro.taskana.common.internal
Interface JobMapper
-
public interface JobMapperThis class is the mybatis mapping of the JOB table.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddelete(ScheduledJob job)voiddeleteMultiple(ScheduledJob.Type jobType)List<ScheduledJob>findJobsToRun()IntegerinsertJob(ScheduledJob job)voidupdate(ScheduledJob job)
-
-
-
Method Detail
-
insertJob
@Insert("<script>INSERT INTO SCHEDULED_JOB (JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS) VALUES (<choose><when test=\"_databaseId == \'db2\'\">SCHEDULED_JOB_SEQ.NEXTVAL</when><otherwise>nextval(\'SCHEDULED_JOB_SEQ\')</otherwise></choose>, #{job.priority}, #{job.created}, #{job.due}, #{job.state}, #{job.lockedBy}, #{job.lockExpires}, #{job.type}, #{job.retryCount}, #{job.arguments,javaType=java.util.Map,typeHandler=pro.taskana.common.internal.persistence.MapTypeHandler} )</script>") @Results(@Result(property="jobId",column="JOB_ID")) Integer insertJob(@Param("job") ScheduledJob job)
-
findJobsToRun
@Select("<script> SELECT JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS FROM SCHEDULED_JOB WHERE STATE IN ( \'READY\') AND (DUE is null OR DUE < CURRENT_TIMESTAMP) AND (LOCK_EXPIRES is null OR LOCK_EXPIRES < CURRENT_TIMESTAMP) AND RETRY_COUNT > 0 ORDER BY PRIORITY DESC <if test=\"_databaseId == \'db2\'\">with UR </if> </script>") @Result(property="jobId",column="JOB_ID") @Result(property="priority",column="PRIORITY") @Result(property="created",column="CREATED") @Result(property="due",column="DUE") @Result(property="state",column="STATE") @Result(property="lockedBy",column="LOCKED_BY") @Result(property="lockExpires",column="LOCK_EXPIRES") @Result(property="type",column="TYPE") @Result(property="retryCount",column="RETRY_COUNT") @Result(property="arguments",column="ARGUMENTS",javaType=java.util.Map.class,typeHandler=pro.taskana.common.internal.persistence.MapTypeHandler.class) List<ScheduledJob> findJobsToRun()
-
update
@Update("UPDATE SCHEDULED_JOB SET CREATED = #{created}, PRIORITY = #{priority}, DUE = #{due}, STATE = #{state}, LOCKED_BY = #{lockedBy}, LOCK_EXPIRES = #{lockExpires}, TYPE = #{type}, RETRY_COUNT = #{retryCount}, ARGUMENTS = #{arguments,jdbcType=CLOB ,javaType=java.util.Map,typeHandler=pro.taskana.common.internal.persistence.MapTypeHandler} where JOB_ID = #{jobId}") void update(ScheduledJob job)
-
delete
@Delete("DELETE FROM SCHEDULED_JOB WHERE JOB_ID = #{jobId}") void delete(ScheduledJob job)
-
deleteMultiple
@Delete("DELETE FROM SCHEDULED_JOB WHERE TYPE = #{jobType}") void deleteMultiple(ScheduledJob.Type jobType)
-
-