Package org.copperengine.ext.persistent
Class RdbmsEngineFactory<T extends org.copperengine.core.DependencyInjector>
- java.lang.Object
-
- org.copperengine.ext.persistent.AbstractPersistentEngineFactory<T>
-
- org.copperengine.ext.persistent.RdbmsEngineFactory<T>
-
- Type Parameters:
T- type of DependencyInjector which shall be used from the created engine
public abstract class RdbmsEngineFactory<T extends org.copperengine.core.DependencyInjector> extends AbstractPersistentEngineFactory<T>
Utility class to create a RDBMS (e.g. oracle or mysql)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();
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.common.base.Supplier<org.copperengine.core.batcher.impl.BatcherImpl>batcherprotected com.google.common.base.Supplier<javax.sql.DataSource>dataSource-
Fields inherited from class org.copperengine.ext.persistent.AbstractPersistentEngineFactory
dbStorage, dependencyInjector, engine, engineIdProvider, executorService, idFactory, processorPoolManager, serializer, statisticCollector, transactionController, workflowRepository
-
-
Constructor Summary
Constructors Constructor Description RdbmsEngineFactory(java.util.List<java.lang.String> wfPackges)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.copperengine.core.batcher.impl.BatcherImplcreateBatcher()protected org.copperengine.core.persistent.DatabaseDialectcreateDatabaseDialect()protected abstract javax.sql.DataSourcecreateDataSource()protected org.copperengine.core.persistent.ScottyDBStorageInterfacecreateDBStorage()protected org.copperengine.core.persistent.DatabaseDialectcreateDialect(javax.sql.DataSource ds, org.copperengine.core.common.WorkflowRepository wfRepository, org.copperengine.core.EngineIdProvider engineIdProvider)protected org.copperengine.core.persistent.txn.TransactionControllercreateTransactionController()voiddestroyEngine()org.copperengine.core.batcher.BatchergetBatcher()voidsetNumberOfBatcherThreads(int numberOfBatcherThreads)-
Methods inherited from class org.copperengine.ext.persistent.AbstractPersistentEngineFactory
createDependencyInjector, createEngineIdProvider, createExecutorService, createIdFactory, createPersistentScottyEngine, createProcessorPoolManager, createSerializer, createStatisticsLogger, createWorkflowRepository, getDependencyInjector, getEngine, getStatLoggerIntervalSeconds, setEngineId, setStatLoggerIntervalSeconds
-
-
-
-
Method Detail
-
setNumberOfBatcherThreads
public void setNumberOfBatcherThreads(int numberOfBatcherThreads)
-
createDataSource
protected abstract javax.sql.DataSource createDataSource()
-
createBatcher
protected org.copperengine.core.batcher.impl.BatcherImpl createBatcher()
-
createTransactionController
protected org.copperengine.core.persistent.txn.TransactionController createTransactionController()
- Specified by:
createTransactionControllerin classAbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>
-
createDBStorage
protected org.copperengine.core.persistent.ScottyDBStorageInterface createDBStorage()
- Specified by:
createDBStoragein classAbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>
-
createDatabaseDialect
protected org.copperengine.core.persistent.DatabaseDialect createDatabaseDialect()
-
createDialect
protected org.copperengine.core.persistent.DatabaseDialect createDialect(javax.sql.DataSource ds, org.copperengine.core.common.WorkflowRepository wfRepository, org.copperengine.core.EngineIdProvider engineIdProvider)
-
getBatcher
public org.copperengine.core.batcher.Batcher getBatcher()
-
destroyEngine
public void destroyEngine()
- Overrides:
destroyEnginein classAbstractPersistentEngineFactory<T extends org.copperengine.core.DependencyInjector>
-
-