Package org.jobrunr.storage.sql.common
Class DefaultSqlStorageProvider
- java.lang.Object
-
- org.jobrunr.storage.AbstractStorageProvider
-
- org.jobrunr.storage.sql.common.DefaultSqlStorageProvider
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,SqlStorageProvider
,StorageProvider
- Direct Known Subclasses:
DB2StorageProvider
,H2StorageProvider
,MariaDbStorageProvider
,OracleStorageProvider
,PostgresStorageProvider
,SqLiteStorageProvider
,SQLServerStorageProvider
public class DefaultSqlStorageProvider extends AbstractStorageProvider implements SqlStorageProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DefaultSqlStorageProvider.DatabaseOptions
-
Field Summary
Fields Modifier and Type Field Description protected DefaultSqlStorageProvider.DatabaseOptions
databaseOptions
protected javax.sql.DataSource
dataSource
protected JobMapper
jobMapper
-
Constructor Summary
Constructors Constructor Description DefaultSqlStorageProvider(javax.sql.DataSource dataSource)
DefaultSqlStorageProvider(javax.sql.DataSource dataSource, DefaultSqlStorageProvider.DatabaseOptions databaseOptions)
-
Method Summary
-
Methods inherited from class org.jobrunr.storage.AbstractStorageProvider
addJobStorageOnChangeListener, close, delete, notifyJobStatsOnChangeListeners, notifyOnChangeListenersIf, 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, delete, getJobById, removeJobStorageOnChangeListener
-
-
-
-
Field Detail
-
dataSource
protected final javax.sql.DataSource dataSource
-
databaseOptions
protected final DefaultSqlStorageProvider.DatabaseOptions databaseOptions
-
jobMapper
protected JobMapper jobMapper
-
-
Constructor Detail
-
DefaultSqlStorageProvider
public DefaultSqlStorageProvider(javax.sql.DataSource dataSource)
-
DefaultSqlStorageProvider
public DefaultSqlStorageProvider(javax.sql.DataSource dataSource, DefaultSqlStorageProvider.DatabaseOptions databaseOptions)
-
-
Method Detail
-
createDBIfNecessary
protected void createDBIfNecessary()
-
getDatabaseCreator
protected DatabaseCreator getDatabaseCreator()
-
setJobMapper
public void setJobMapper(JobMapper jobMapper)
- Specified by:
setJobMapper
in interfaceStorageProvider
-
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
-
removeTimedOutBackgroundJobServers
public int removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
- Specified by:
removeTimedOutBackgroundJobServers
in interfaceStorageProvider
-
getJobById
public Job getJobById(java.util.UUID id)
- Specified by:
getJobById
in interfaceStorageProvider
-
save
public Job save(Job jobToSave)
- Specified by:
save
in interfaceStorageProvider
-
deletePermanently
public int deletePermanently(java.util.UUID id)
- Specified by:
deletePermanently
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, PageRequest pageRequest)
- Specified by:
getJobs
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
-
countJobs
public java.lang.Long countJobs(StateName state)
- Specified by:
countJobs
in interfaceStorageProvider
-
getJobPage
public Page<Job> getJobPage(StateName state, PageRequest pageRequest)
- Specified by:
getJobPage
in interfaceStorageProvider
-
deleteJobs
public int deleteJobs(StateName state, java.time.Instant updatedBefore)
- Specified by:
deleteJobs
in interfaceStorageProvider
-
exists
public boolean exists(JobDetails jobDetails, StateName... states)
- Specified by:
exists
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
-
deleteRecurringJob
public int deleteRecurringJob(java.lang.String id)
- Specified by:
deleteRecurringJob
in interfaceStorageProvider
-
getJobStats
public JobStats getJobStats()
- Specified by:
getJobStats
in interfaceStorageProvider
-
publishJobStatCounter
public void publishJobStatCounter(StateName state, int amount)
- Specified by:
publishJobStatCounter
in interfaceStorageProvider
-
jobTable
protected JobTable jobTable()
-
recurringJobTable
protected RecurringJobTable recurringJobTable()
-
backgroundJobServerTable
protected BackgroundJobServerTable backgroundJobServerTable()
-
-