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>dataSourceFields 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
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
-
Field Details
-
dataSource
protected final com.google.common.base.Supplier<javax.sql.DataSource> dataSource -
batcher
protected final com.google.common.base.Supplier<org.copperengine.core.batcher.impl.BatcherImpl> batcher
-
-
Constructor Details
-
RdbmsEngineFactory
public RdbmsEngineFactory(java.util.List<java.lang.String> wfPackges)
-
-
Method Details
-
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>
-