public class ClasspathWorkflowRepository
extends org.copperengine.core.wfrepo.AbstractWorkflowRepository
implements org.copperengine.core.common.WorkflowRepository, org.copperengine.management.FileBasedWorkflowRepositoryMXBean
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#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");
}
| Constructor and Description |
|---|
ClasspathWorkflowRepository(java.util.List<java.lang.String> wfPackages) |
ClasspathWorkflowRepository(java.lang.String wfPackage) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getDescription() |
java.util.List<java.lang.String> |
getSourceArchiveUrls() |
java.util.List<java.lang.String> |
getSourceDirs() |
protected org.copperengine.core.wfrepo.AbstractWorkflowRepository.VolatileState |
getVolatileState() |
void |
shutdown() |
void |
start() |
checkConstraints, createAliasName, createClassLoader, createWorkflowClassInfoMap, createWorkflowFactory, createWorkflowFactory, findLatestMajorVersion, findLatestMinorVersion, getClassInfo, getWorkflowInfo, getWorkflows, instrumentWorkflows, resolveClassclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic ClasspathWorkflowRepository(java.lang.String wfPackage)
public ClasspathWorkflowRepository(java.util.List<java.lang.String> wfPackages)
public void start()
start in interface org.copperengine.core.common.WorkflowRepositorypublic void shutdown()
shutdown in interface org.copperengine.core.common.WorkflowRepositorypublic java.lang.String getDescription()
getDescription in interface org.copperengine.management.WorkflowRepositoryMXBeanpublic java.util.List<java.lang.String> getSourceDirs()
getSourceDirs in interface org.copperengine.management.FileBasedWorkflowRepositoryMXBeanpublic java.util.List<java.lang.String> getSourceArchiveUrls()
getSourceArchiveUrls in interface org.copperengine.management.FileBasedWorkflowRepositoryMXBeanprotected org.copperengine.core.wfrepo.AbstractWorkflowRepository.VolatileState getVolatileState()
getVolatileState in class org.copperengine.core.wfrepo.AbstractWorkflowRepository