Class ElasticSearchStorageProvider
- java.lang.Object
-
- org.jobrunr.storage.AbstractStorageProvider
-
- org.jobrunr.storage.nosql.elasticsearch.ElasticSearchStorageProvider
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,NoSqlStorageProvider
,StorageProvider
public class ElasticSearchStorageProvider extends AbstractStorageProvider implements NoSqlStorageProvider
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_BACKGROUND_JOB_SERVER_INDEX_NAME
static java.lang.String
DEFAULT_JOB_INDEX_NAME
static java.lang.String
DEFAULT_METADATA_INDEX_NAME
static java.lang.String
DEFAULT_RECURRING_JOB_INDEX_NAME
-
Fields inherited from interface org.jobrunr.storage.StorageProvider
BATCH_SIZE
-
-
Constructor Summary
Constructors Constructor Description ElasticSearchStorageProvider(java.lang.String hostName, int port)
ElasticSearchStorageProvider(org.apache.http.HttpHost httpHost)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions, RateLimiter changeListenerNotificationRateLimit)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, StorageProviderUtils.DatabaseOptions databaseOptions)
ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, StorageProviderUtils.DatabaseOptions databaseOptions, RateLimiter rateLimiter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
long
countRecurringJobs()
int
deleteJobsPermanently(StateName state, java.time.Instant updatedBefore)
void
deleteMetadata(java.lang.String name)
int
deletePermanently(java.util.UUID id)
int
deleteRecurringJob(java.lang.String id)
boolean
exists(JobDetails jobDetails, StateName... states)
java.util.List<BackgroundJobServerStatus>
getBackgroundJobServers()
java.util.Set<java.lang.String>
getDistinctJobSignatures(StateName... states)
Job
getJobById(java.util.UUID id)
Page<Job>
getJobPage(StateName state, PageRequest pageRequest)
java.util.List<Job>
getJobs(StateName state, java.time.Instant updatedBefore, PageRequest pageRequest)
java.util.List<Job>
getJobs(StateName state, PageRequest pageRequest)
JobStats
getJobStats()
java.util.UUID
getLongestRunningBackgroundJobServerId()
java.util.List<JobRunrMetadata>
getMetadata(java.lang.String name)
JobRunrMetadata
getMetadata(java.lang.String name, java.lang.String owner)
java.util.List<RecurringJob>
getRecurringJobs()
java.util.List<Job>
getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
void
publishTotalAmountOfSucceededJobs(int amount)
boolean
recurringJobExists(java.lang.String recurringJobId, StateName... states)
int
removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
java.util.List<Job>
save(java.util.List<Job> jobs)
Job
save(Job job)
void
saveMetadata(JobRunrMetadata metadata)
RecurringJob
saveRecurringJob(RecurringJob recurringJob)
void
setJobMapper(JobMapper jobMapper)
void
setUpStorageProvider(StorageProviderUtils.DatabaseOptions databaseOptions)
This method allows to reinitialize the StorageProvider.boolean
signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
void
signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
Methods inherited from class org.jobrunr.storage.AbstractStorageProvider
addJobStorageOnChangeListener, close, getName, notifyJobStatsOnChangeListeners, notifyJobStatsOnChangeListenersIf, notifyMetadataChangeListeners, notifyMetadataChangeListeners, removeJobStorageOnChangeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jobrunr.storage.StorageProvider
addJobStorageOnChangeListener, close, getJobById, getName, removeJobStorageOnChangeListener
-
-
-
-
Field Detail
-
DEFAULT_JOB_INDEX_NAME
public static final java.lang.String DEFAULT_JOB_INDEX_NAME
- See Also:
- Constant Field Values
-
DEFAULT_RECURRING_JOB_INDEX_NAME
public static final java.lang.String DEFAULT_RECURRING_JOB_INDEX_NAME
- See Also:
- Constant Field Values
-
DEFAULT_BACKGROUND_JOB_SERVER_INDEX_NAME
public static final java.lang.String DEFAULT_BACKGROUND_JOB_SERVER_INDEX_NAME
- See Also:
- Constant Field Values
-
DEFAULT_METADATA_INDEX_NAME
public static final java.lang.String DEFAULT_METADATA_INDEX_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(java.lang.String hostName, int port)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.apache.http.HttpHost httpHost)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, StorageProviderUtils.DatabaseOptions databaseOptions)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, StorageProviderUtils.DatabaseOptions databaseOptions, RateLimiter rateLimiter)
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, java.lang.String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions, RateLimiter changeListenerNotificationRateLimit)
-
-
Method Detail
-
setJobMapper
public void setJobMapper(JobMapper jobMapper)
- Specified by:
setJobMapper
in interfaceStorageProvider
-
setUpStorageProvider
public void setUpStorageProvider(StorageProviderUtils.DatabaseOptions databaseOptions)
Description copied from interface:StorageProvider
This method allows to reinitialize the StorageProvider. It can be used if you are using Flyway or Liquibase to setup your database manually. By default, this method is automatically called on construction of the StorageProvider- Specified by:
setUpStorageProvider
in interfaceStorageProvider
- Parameters:
databaseOptions
- defines whether to set up the StorageProvider or validate whether the StorageProvider is set up correctly.
-
announceBackgroundJobServer
public void announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
- Specified by:
announceBackgroundJobServer
in interfaceStorageProvider
-
signalBackgroundJobServerAlive
public boolean signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
- Specified by:
signalBackgroundJobServerAlive
in interfaceStorageProvider
-
signalBackgroundJobServerStopped
public void signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
- Specified by:
signalBackgroundJobServerStopped
in interfaceStorageProvider
-
getBackgroundJobServers
public java.util.List<BackgroundJobServerStatus> getBackgroundJobServers()
- Specified by:
getBackgroundJobServers
in interfaceStorageProvider
-
getLongestRunningBackgroundJobServerId
public java.util.UUID getLongestRunningBackgroundJobServerId()
- Specified by:
getLongestRunningBackgroundJobServerId
in interfaceStorageProvider
-
removeTimedOutBackgroundJobServers
public int removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
- Specified by:
removeTimedOutBackgroundJobServers
in interfaceStorageProvider
-
saveMetadata
public void saveMetadata(JobRunrMetadata metadata)
- Specified by:
saveMetadata
in interfaceStorageProvider
-
getMetadata
public java.util.List<JobRunrMetadata> getMetadata(java.lang.String name)
- Specified by:
getMetadata
in interfaceStorageProvider
-
getMetadata
public JobRunrMetadata getMetadata(java.lang.String name, java.lang.String owner)
- Specified by:
getMetadata
in interfaceStorageProvider
-
deleteMetadata
public void deleteMetadata(java.lang.String name)
- Specified by:
deleteMetadata
in interfaceStorageProvider
-
save
public Job save(Job job)
- Specified by:
save
in interfaceStorageProvider
-
deletePermanently
public int deletePermanently(java.util.UUID id)
- Specified by:
deletePermanently
in interfaceStorageProvider
-
getJobById
public Job getJobById(java.util.UUID id)
- Specified by:
getJobById
in interfaceStorageProvider
-
save
public java.util.List<Job> save(java.util.List<Job> jobs)
- Specified by:
save
in interfaceStorageProvider
-
getJobs
public java.util.List<Job> getJobs(StateName state, java.time.Instant updatedBefore, PageRequest pageRequest)
- Specified by:
getJobs
in interfaceStorageProvider
-
getScheduledJobs
public java.util.List<Job> getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
- Specified by:
getScheduledJobs
in interfaceStorageProvider
-
getJobs
public java.util.List<Job> getJobs(StateName state, PageRequest pageRequest)
- Specified by:
getJobs
in interfaceStorageProvider
-
getJobPage
public Page<Job> getJobPage(StateName state, PageRequest pageRequest)
- Specified by:
getJobPage
in interfaceStorageProvider
-
deleteJobsPermanently
public int deleteJobsPermanently(StateName state, java.time.Instant updatedBefore)
- Specified by:
deleteJobsPermanently
in interfaceStorageProvider
-
getDistinctJobSignatures
public java.util.Set<java.lang.String> getDistinctJobSignatures(StateName... states)
- Specified by:
getDistinctJobSignatures
in interfaceStorageProvider
-
exists
public boolean exists(JobDetails jobDetails, StateName... states)
- Specified by:
exists
in interfaceStorageProvider
-
recurringJobExists
public boolean recurringJobExists(java.lang.String recurringJobId, StateName... states)
- Specified by:
recurringJobExists
in interfaceStorageProvider
-
saveRecurringJob
public RecurringJob saveRecurringJob(RecurringJob recurringJob)
- Specified by:
saveRecurringJob
in interfaceStorageProvider
-
getRecurringJobs
public java.util.List<RecurringJob> getRecurringJobs()
- Specified by:
getRecurringJobs
in interfaceStorageProvider
-
countRecurringJobs
public long countRecurringJobs()
- Specified by:
countRecurringJobs
in interfaceStorageProvider
-
deleteRecurringJob
public int deleteRecurringJob(java.lang.String id)
- Specified by:
deleteRecurringJob
in interfaceStorageProvider
-
getJobStats
public JobStats getJobStats()
- Specified by:
getJobStats
in interfaceStorageProvider
-
publishTotalAmountOfSucceededJobs
public void publishTotalAmountOfSucceededJobs(int amount)
- Specified by:
publishTotalAmountOfSucceededJobs
in interfaceStorageProvider
-
-