Class ClasspathWorkflowRepository
java.lang.Object
org.copperengine.core.wfrepo.AbstractWorkflowRepository
org.copperengine.ext.wfrepo.classpath.ClasspathWorkflowRepository
- All Implemented Interfaces:
org.copperengine.core.common.WorkflowRepository,org.copperengine.management.FileBasedWorkflowRepositoryMXBean,org.copperengine.management.WorkflowRepositoryMXBean
public class ClasspathWorkflowRepository
extends org.copperengine.core.wfrepo.AbstractWorkflowRepository
implements org.copperengine.core.common.WorkflowRepository, org.copperengine.management.FileBasedWorkflowRepositoryMXBean
Easy to use implementation of the
WorkflowRepository interface.
This workflow repository looks for its workflows in the normal classpath, just one or more package names of those
packages containing the workflow classes need to be configured.
Compared to the FileBasedWorkflowRepository this is quite easy to use, because workflows do not need to
reside in a dedicated source folder, they don't need to be deployed as java source files and no java compiler (JDK)
is needed to run the application.
On the other hand there is no hot deployment feature and the JMX interface does not show the java source code of the deployed workflows. Anyhow, this workflow repo is probably suitable for most simple COPPER applications.
See ClasspathWorkflowRepositoryTest.java testExec() for sample usage.
{
final ClasspathWorkflowRepository wfRepo = new ClasspathWorkflowRepository("org.copperengine.ext.wfrepo.classpath.testworkflows");
final TransientEngineFactory factory = new TransientEngineFactory() {
protected WorkflowRepository createWorkflowRepository() {
return wfRepo;
}
protected File getWorkflowSourceDirectory() {
return null;
}
};
TransientScottyEngine engine = factory.create();
engine.run("org.copperengine.ext.wfrepo.classpath.testworkflows.TestWorkflowThree", "foo");
}
-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description ClasspathWorkflowRepository(java.lang.String wfPackage)ClasspathWorkflowRepository(java.util.List<java.lang.String> wfPackages) -
Method Summary
Modifier and Type Method Description java.lang.StringgetDescription()java.lang.StringgetLastBuildResults()java.util.List<java.lang.String>getSourceArchiveUrls()java.util.List<java.lang.String>getSourceDirs()protected org.copperengine.core.wfrepo.AbstractWorkflowRepository.VolatileStategetVolatileState()voidshutdown()voidstart()Methods inherited from class org.copperengine.core.wfrepo.AbstractWorkflowRepository
checkConstraints, createAliasName, createClassLoader, createWorkflowClassInfoMap, createWorkflowFactory, createWorkflowFactory, findLatestMajorVersion, findLatestMinorVersion, getClassInfo, getWorkflowInfo, getWorkflowRepoSize, getWorkflows, instrumentWorkflows, queryWorkflowsSubset, resolveClassMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ClasspathWorkflowRepository
public ClasspathWorkflowRepository(java.lang.String wfPackage) -
ClasspathWorkflowRepository
public ClasspathWorkflowRepository(java.util.List<java.lang.String> wfPackages)
-
-
Method Details
-
start
public void start()- Specified by:
startin interfaceorg.copperengine.core.common.WorkflowRepository
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceorg.copperengine.core.common.WorkflowRepository
-
getDescription
public java.lang.String getDescription()- Specified by:
getDescriptionin interfaceorg.copperengine.management.WorkflowRepositoryMXBean
-
getSourceDirs
public java.util.List<java.lang.String> getSourceDirs()- Specified by:
getSourceDirsin interfaceorg.copperengine.management.FileBasedWorkflowRepositoryMXBean
-
getSourceArchiveUrls
public java.util.List<java.lang.String> getSourceArchiveUrls()- Specified by:
getSourceArchiveUrlsin interfaceorg.copperengine.management.FileBasedWorkflowRepositoryMXBean
-
getLastBuildResults
public java.lang.String getLastBuildResults()- Specified by:
getLastBuildResultsin interfaceorg.copperengine.management.FileBasedWorkflowRepositoryMXBean
-
getVolatileState
protected org.copperengine.core.wfrepo.AbstractWorkflowRepository.VolatileState getVolatileState()- Specified by:
getVolatileStatein classorg.copperengine.core.wfrepo.AbstractWorkflowRepository
-