@Repository(value="jobRepository")
public class MongoJobRepository
extends de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>
implements de.otto.edison.jobs.repository.JobRepository
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ID |
| Constructor and Description |
|---|
MongoJobRepository(com.mongodb.client.MongoDatabase database) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendMessage(java.lang.String jobId,
de.otto.edison.jobs.domain.JobMessage jobMessage) |
void |
clearRunningMark(java.lang.String jobType) |
protected com.mongodb.client.MongoCollection<org.bson.Document> |
collection() |
protected de.otto.edison.jobs.domain.JobInfo |
decode(org.bson.Document document) |
void |
disableJobType(java.lang.String jobType) |
void |
enableJobType(java.lang.String jobType) |
protected org.bson.Document |
encode(de.otto.edison.jobs.domain.JobInfo job) |
protected void |
ensureIndexes() |
java.util.List<java.lang.String> |
findAllJobIdsDistinct() |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findAllJobInfoWithoutMessages() |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findByType(java.lang.String type) |
java.util.List<java.lang.String> |
findDisabledJobTypes() |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findLatest(int maxCount) |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findLatestBy(java.lang.String type,
int maxCount) |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findLatestJobsDistinct() |
java.util.List<de.otto.edison.jobs.domain.JobInfo> |
findRunningWithoutUpdateSince(java.time.OffsetDateTime timeOffset) |
de.otto.edison.jobs.domain.JobInfo.JobStatus |
findStatus(java.lang.String jobId) |
void |
initJobsMetaDataDocumentsOnStartup() |
protected java.lang.String |
keyOf(de.otto.edison.jobs.domain.JobInfo value) |
void |
markJobAsRunningIfPossible(de.otto.edison.jobs.domain.JobInfo jobInfo,
java.util.Set<java.lang.String> blockingJobTypes) |
void |
removeIfStopped(java.lang.String id) |
de.otto.edison.jobs.domain.RunningJobs |
runningJobsDocument() |
void |
setJobStatus(java.lang.String jobId,
de.otto.edison.jobs.domain.JobInfo.JobStatus jobStatus) |
void |
setLastUpdate(java.lang.String jobId,
java.time.OffsetDateTime lastUpdate) |
byId, create, createOrUpdate, delete, deleteAll, findAll, findAll, findAllAsStream, findAllAsStream, findOne, matchAll, postConstruct, size, toStream, update, updateIfMatchpublic static final java.lang.String ID
@Autowired public MongoJobRepository(com.mongodb.client.MongoDatabase database)
@PostConstruct public void initJobsMetaDataDocumentsOnStartup()
public de.otto.edison.jobs.domain.JobInfo.JobStatus findStatus(java.lang.String jobId)
findStatus in interface de.otto.edison.jobs.repository.JobRepositorypublic void removeIfStopped(java.lang.String id)
removeIfStopped in interface de.otto.edison.jobs.repository.JobRepositorypublic void appendMessage(java.lang.String jobId,
de.otto.edison.jobs.domain.JobMessage jobMessage)
appendMessage in interface de.otto.edison.jobs.repository.JobRepositorypublic void setJobStatus(java.lang.String jobId,
de.otto.edison.jobs.domain.JobInfo.JobStatus jobStatus)
setJobStatus in interface de.otto.edison.jobs.repository.JobRepositorypublic void setLastUpdate(java.lang.String jobId,
java.time.OffsetDateTime lastUpdate)
setLastUpdate in interface de.otto.edison.jobs.repository.JobRepositorypublic void markJobAsRunningIfPossible(de.otto.edison.jobs.domain.JobInfo jobInfo,
java.util.Set<java.lang.String> blockingJobTypes)
throws de.otto.edison.jobs.repository.JobBlockedException
markJobAsRunningIfPossible in interface de.otto.edison.jobs.repository.JobRepositoryde.otto.edison.jobs.repository.JobBlockedExceptionpublic void clearRunningMark(java.lang.String jobType)
clearRunningMark in interface de.otto.edison.jobs.repository.JobRepositorypublic de.otto.edison.jobs.domain.RunningJobs runningJobsDocument()
runningJobsDocument in interface de.otto.edison.jobs.repository.JobRepositorypublic void disableJobType(java.lang.String jobType)
disableJobType in interface de.otto.edison.jobs.repository.JobRepositorypublic void enableJobType(java.lang.String jobType)
enableJobType in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<java.lang.String> findDisabledJobTypes()
findDisabledJobTypes in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<de.otto.edison.jobs.domain.JobInfo> findLatest(int maxCount)
findLatest in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<de.otto.edison.jobs.domain.JobInfo> findLatestJobsDistinct()
findLatestJobsDistinct in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<java.lang.String> findAllJobIdsDistinct()
public java.util.List<de.otto.edison.jobs.domain.JobInfo> findLatestBy(java.lang.String type,
int maxCount)
findLatestBy in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<de.otto.edison.jobs.domain.JobInfo> findByType(java.lang.String type)
findByType in interface de.otto.edison.jobs.repository.JobRepositorypublic java.util.List<de.otto.edison.jobs.domain.JobInfo> findRunningWithoutUpdateSince(java.time.OffsetDateTime timeOffset)
findRunningWithoutUpdateSince in interface de.otto.edison.jobs.repository.JobRepositoryprotected final org.bson.Document encode(de.otto.edison.jobs.domain.JobInfo job)
encode in class de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>protected final de.otto.edison.jobs.domain.JobInfo decode(org.bson.Document document)
decode in class de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>protected final java.lang.String keyOf(de.otto.edison.jobs.domain.JobInfo value)
keyOf in class de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>protected final com.mongodb.client.MongoCollection<org.bson.Document> collection()
collection in class de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>protected final void ensureIndexes()
ensureIndexes in class de.otto.edison.mongo.AbstractMongoRepository<java.lang.String,de.otto.edison.jobs.domain.JobInfo>public java.util.List<de.otto.edison.jobs.domain.JobInfo> findAllJobInfoWithoutMessages()
findAllJobInfoWithoutMessages in interface de.otto.edison.jobs.repository.JobRepository