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.FileBasedWorkflowRepositoryMXBeanEasy to use implementation of theWorkflowRepositoryinterface. 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
FileBasedWorkflowRepositorythis 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"); }
-
-
Constructor Summary
Constructors Constructor Description ClasspathWorkflowRepository(java.lang.String wfPackage)ClasspathWorkflowRepository(java.util.List<java.lang.String> wfPackages)
-
Method Summary
All Methods Instance Methods Concrete Methods 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, resolveClass
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Method Detail
-
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
-
-