Class ElasticSearchStorageProvider
java.lang.Object
org.jobrunr.storage.AbstractStorageProvider
org.jobrunr.storage.nosql.elasticsearch.ElasticSearchStorageProvider
- All Implemented Interfaces:
AutoCloseable
,NoSqlStorageProvider
,StorageProvider
@Beta(note="The ElasticSearchStorageProvider is still in Beta. My first impression is that other StorageProviders are faster than ElasticSearch.")
public class ElasticSearchStorageProvider
extends AbstractStorageProvider
implements NoSqlStorageProvider
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jobrunr.storage.StorageProvider
StorageProvider.StorageProviderInfo
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final int
Fields inherited from interface org.jobrunr.storage.StorageProvider
BATCH_SIZE
-
Constructor Summary
ConstructorDescriptionElasticSearchStorageProvider
(String hostName, int port) ElasticSearchStorageProvider
(org.apache.http.HttpHost httpHost) ElasticSearchStorageProvider
(org.elasticsearch.client.RestHighLevelClient client) ElasticSearchStorageProvider
(org.elasticsearch.client.RestHighLevelClient client, String indexPrefix) ElasticSearchStorageProvider
(org.elasticsearch.client.RestHighLevelClient client, String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions) ElasticSearchStorageProvider
(org.elasticsearch.client.RestHighLevelClient client, 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
Modifier and TypeMethodDescriptionvoid
long
int
deleteJobsPermanently
(StateName state, Instant updatedBefore) void
deleteMetadata
(String name) int
int
boolean
exists
(JobDetails jobDetails, StateName... states) getDistinctJobSignatures
(StateName... states) getJobById
(UUID id) getJobPage
(StateName state, PageRequest pageRequest) getJobs
(StateName state, Instant updatedBefore, PageRequest pageRequest) getJobs
(StateName state, PageRequest pageRequest) getMetadata
(String name) getMetadata
(String name, String owner) getScheduledJobs
(Instant scheduledBefore, PageRequest pageRequest) void
publishTotalAmountOfSucceededJobs
(int amount) boolean
recurringJobExists
(String recurringJobId, StateName... states) boolean
recurringJobsUpdated
(Long recurringJobsUpdatedHash) int
removeTimedOutBackgroundJobServers
(Instant heartbeatOlderThan) void
saveMetadata
(JobRunrMetadata metadata) void
setJobMapper
(JobMapper jobMapper) void
This method allows to reinitialize the StorageProvider.boolean
void
signalBackgroundJobServerStopped
(BackgroundJobServerStatus serverStatus) Methods inherited from class org.jobrunr.storage.AbstractStorageProvider
addJobStorageOnChangeListener, close, getStorageProviderInfo, 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, getStorageProviderInfo, removeJobStorageOnChangeListener
-
Field Details
-
DEFAULT_JOB_INDEX_NAME
- See Also:
-
DEFAULT_RECURRING_JOB_INDEX_NAME
- See Also:
-
DEFAULT_BACKGROUND_JOB_SERVER_INDEX_NAME
- See Also:
-
DEFAULT_METADATA_INDEX_NAME
- See Also:
-
MAX_SIZE
public static final int MAX_SIZE- See Also:
-
-
Constructor Details
-
ElasticSearchStorageProvider
-
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.apache.http.HttpHost httpHost) -
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client) -
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, String indexPrefix) -
ElasticSearchStorageProvider
public ElasticSearchStorageProvider(org.elasticsearch.client.RestHighLevelClient client, 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, String indexPrefix, StorageProviderUtils.DatabaseOptions databaseOptions, RateLimiter changeListenerNotificationRateLimit)
-
-
Method Details
-
setJobMapper
- Specified by:
setJobMapper
in interfaceStorageProvider
-
setUpStorageProvider
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:
options
- defines whether to set up the StorageProvider or validate whether the StorageProvider is set up correctly.
-
announceBackgroundJobServer
- Specified by:
announceBackgroundJobServer
in interfaceStorageProvider
-
signalBackgroundJobServerAlive
- Specified by:
signalBackgroundJobServerAlive
in interfaceStorageProvider
-
signalBackgroundJobServerStopped
- Specified by:
signalBackgroundJobServerStopped
in interfaceStorageProvider
-
getBackgroundJobServers
- Specified by:
getBackgroundJobServers
in interfaceStorageProvider
-
getLongestRunningBackgroundJobServerId
- Specified by:
getLongestRunningBackgroundJobServerId
in interfaceStorageProvider
-
removeTimedOutBackgroundJobServers
- Specified by:
removeTimedOutBackgroundJobServers
in interfaceStorageProvider
-
saveMetadata
- Specified by:
saveMetadata
in interfaceStorageProvider
-
getMetadata
- Specified by:
getMetadata
in interfaceStorageProvider
-
getMetadata
- Specified by:
getMetadata
in interfaceStorageProvider
-
deleteMetadata
- Specified by:
deleteMetadata
in interfaceStorageProvider
-
save
- Specified by:
save
in interfaceStorageProvider
-
deletePermanently
- Specified by:
deletePermanently
in interfaceStorageProvider
-
getJobById
- Specified by:
getJobById
in interfaceStorageProvider
-
save
- Specified by:
save
in interfaceStorageProvider
-
getJobs
- Specified by:
getJobs
in interfaceStorageProvider
-
getScheduledJobs
- Specified by:
getScheduledJobs
in interfaceStorageProvider
-
getJobs
- Specified by:
getJobs
in interfaceStorageProvider
-
getJobPage
- Specified by:
getJobPage
in interfaceStorageProvider
-
deleteJobsPermanently
- Specified by:
deleteJobsPermanently
in interfaceStorageProvider
-
getDistinctJobSignatures
- Specified by:
getDistinctJobSignatures
in interfaceStorageProvider
-
exists
- Specified by:
exists
in interfaceStorageProvider
-
recurringJobExists
- Specified by:
recurringJobExists
in interfaceStorageProvider
-
saveRecurringJob
- Specified by:
saveRecurringJob
in interfaceStorageProvider
-
getRecurringJobs
- Specified by:
getRecurringJobs
in interfaceStorageProvider
-
recurringJobsUpdated
- Specified by:
recurringJobsUpdated
in interfaceStorageProvider
-
countRecurringJobs
public long countRecurringJobs()- Specified by:
countRecurringJobs
in interfaceStorageProvider
-
deleteRecurringJob
- Specified by:
deleteRecurringJob
in interfaceStorageProvider
-
getJobStats
- Specified by:
getJobStats
in interfaceStorageProvider
-
publishTotalAmountOfSucceededJobs
public void publishTotalAmountOfSucceededJobs(int amount) - Specified by:
publishTotalAmountOfSucceededJobs
in interfaceStorageProvider
-