public class PrefetchingDatabaseProvider extends java.lang.Object implements DatabaseProvider
| Modifier and Type | Class and Description |
|---|---|
static class |
PrefetchingDatabaseProvider.Config |
protected static class |
PrefetchingDatabaseProvider.DatabasePipeline |
protected static class |
PrefetchingDatabaseProvider.PipelineKey |
protected static class |
PrefetchingDatabaseProvider.PrefetchingTask |
protected static class |
PrefetchingDatabaseProvider.PreparedResult |
protected static class |
PrefetchingDatabaseProvider.PriorityThreadPoolTaskExecutor |
| Modifier and Type | Field and Description |
|---|---|
protected PrefetchingDatabaseProvider.Config |
config |
protected static java.util.concurrent.atomic.AtomicLong |
databaseCount |
protected static java.util.concurrent.ConcurrentMap<PrefetchingDatabaseProvider.PipelineKey,PrefetchingDatabaseProvider.DatabasePipeline> |
pipelines |
protected DatabaseProvider |
provider |
protected static org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor |
taskExecutor |
| Constructor and Description |
|---|
PrefetchingDatabaseProvider(DatabaseProvider provider) |
PrefetchingDatabaseProvider(DatabaseProvider provider,
PrefetchingDatabaseProvider.Config config) |
| Modifier and Type | Method and Description |
|---|---|
EmbeddedDatabase |
createDatabase(DatabasePreparer preparer) |
boolean |
equals(java.lang.Object o) |
protected PrefetchingDatabaseProvider.PrefetchingTask |
executeTask(PrefetchingDatabaseProvider.PipelineKey key,
PrefetchingDatabaseProvider.PrefetchingTask task) |
protected java.util.Optional<java.util.Map.Entry<PrefetchingDatabaseProvider.PipelineKey,EmbeddedDatabase>> |
findDatabaseToRemove() |
int |
hashCode() |
protected PrefetchingDatabaseProvider.PrefetchingTask |
prepareDatabase(PrefetchingDatabaseProvider.PipelineKey key,
int priority) |
protected java.util.Optional<PrefetchingDatabaseProvider.PrefetchingTask> |
prepareExistingDatabase(PrefetchingDatabaseProvider.PipelineKey key,
int priority) |
protected PrefetchingDatabaseProvider.PrefetchingTask |
prepareNewDatabase(PrefetchingDatabaseProvider.PipelineKey key,
int priority) |
protected void |
reschedulePipeline(PrefetchingDatabaseProvider.PipelineKey key) |
protected static final org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExecutor
protected static final java.util.concurrent.ConcurrentMap<PrefetchingDatabaseProvider.PipelineKey,PrefetchingDatabaseProvider.DatabasePipeline> pipelines
protected static final java.util.concurrent.atomic.AtomicLong databaseCount
protected final DatabaseProvider provider
protected final PrefetchingDatabaseProvider.Config config
public PrefetchingDatabaseProvider(DatabaseProvider provider)
public PrefetchingDatabaseProvider(DatabaseProvider provider, PrefetchingDatabaseProvider.Config config)
public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic EmbeddedDatabase createDatabase(DatabasePreparer preparer) throws ProviderException
createDatabase in interface DatabaseProviderProviderExceptionprotected PrefetchingDatabaseProvider.PrefetchingTask prepareDatabase(PrefetchingDatabaseProvider.PipelineKey key, int priority)
protected PrefetchingDatabaseProvider.PrefetchingTask prepareNewDatabase(PrefetchingDatabaseProvider.PipelineKey key, int priority)
protected java.util.Optional<PrefetchingDatabaseProvider.PrefetchingTask> prepareExistingDatabase(PrefetchingDatabaseProvider.PipelineKey key, int priority)
protected void reschedulePipeline(PrefetchingDatabaseProvider.PipelineKey key)
protected PrefetchingDatabaseProvider.PrefetchingTask executeTask(PrefetchingDatabaseProvider.PipelineKey key, PrefetchingDatabaseProvider.PrefetchingTask task)
protected java.util.Optional<java.util.Map.Entry<PrefetchingDatabaseProvider.PipelineKey,EmbeddedDatabase>> findDatabaseToRemove()