T - type of DependencyInjector which shall be used from the created enginepublic abstract class RdbmsEngineFactory<T extends org.copperengine.core.DependencyInjector> extends AbstractPersistentEngineFactory<T>
PersistentScottyEngine.
Usage is quite simple, e.g. using a SupplierDependencyInjector:
RdbmsEngineFactory<SupplierDependencyInjector> engineFactory = new
RdbmsEngineFactory<SupplierDependencyInjector>(Arrays.asList("package.of.copper.workflow.classes")) {
protected SupplierDependencyInjector createDependencyInjector() {
return new SupplierDependencyInjector();
}
protected DataSource createDataSource() {
return ...;
}
};
engineFactory.getEngine().startup();
| Modifier and Type | Field and Description |
|---|---|
protected com.google.common.base.Supplier<org.copperengine.core.batcher.impl.BatcherImpl> |
batcher |
protected com.google.common.base.Supplier<javax.sql.DataSource> |
dataSource |
dbStorage, dependencyInjector, engine, engineIdProvider, executorService, idFactory, processorPoolManager, serializer, statisticCollector, transactionController, workflowRepository| Constructor and Description |
|---|
RdbmsEngineFactory(java.util.List<java.lang.String> wfPackges) |
| Modifier and Type | Method and Description |
|---|---|
protected org.copperengine.core.batcher.impl.BatcherImpl |
createBatcher() |
protected org.copperengine.core.persistent.DatabaseDialect |
createDatabaseDialect() |
protected abstract javax.sql.DataSource |
createDataSource() |
protected org.copperengine.core.persistent.ScottyDBStorageInterface |
createDBStorage() |
protected org.copperengine.core.persistent.DatabaseDialect |
createDialect(javax.sql.DataSource ds,
org.copperengine.core.common.WorkflowRepository wfRepository,
org.copperengine.core.EngineIdProvider engineIdProvider) |
protected org.copperengine.core.persistent.txn.TransactionController |
createTransactionController() |
void |
destroyEngine() |
org.copperengine.core.batcher.Batcher |
getBatcher() |
void |
setNumberOfBatcherThreads(int numberOfBatcherThreads) |
createDependencyInjector, createEngineIdProvider, createExecutorService, createIdFactory, createPersistentScottyEngine, createProcessorPoolManager, createSerializer, createStatisticsLogger, createWorkflowRepository, getDependencyInjector, getEngine, getStatLoggerIntervalSeconds, setEngineId, setStatLoggerIntervalSecondsprotected final com.google.common.base.Supplier<javax.sql.DataSource> dataSource
protected final com.google.common.base.Supplier<org.copperengine.core.batcher.impl.BatcherImpl> batcher
public RdbmsEngineFactory(java.util.List<java.lang.String> wfPackges)
public void setNumberOfBatcherThreads(int numberOfBatcherThreads)
protected abstract javax.sql.DataSource createDataSource()
protected org.copperengine.core.batcher.impl.BatcherImpl createBatcher()
protected org.copperengine.core.persistent.txn.TransactionController createTransactionController()
createTransactionController in class AbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>protected org.copperengine.core.persistent.ScottyDBStorageInterface createDBStorage()
createDBStorage in class AbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>protected org.copperengine.core.persistent.DatabaseDialect createDatabaseDialect()
protected org.copperengine.core.persistent.DatabaseDialect createDialect(javax.sql.DataSource ds,
org.copperengine.core.common.WorkflowRepository wfRepository,
org.copperengine.core.EngineIdProvider engineIdProvider)
public org.copperengine.core.batcher.Batcher getBatcher()
public void destroyEngine()
destroyEngine in class AbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>