Skip to content

An open-source, powerful, light-weight, and easily configurable workflow engine.

Notifications You must be signed in to change notification settings

ErnestOrt/java-workflow-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Workflow Engine

Is an open-source, powerful, light-weight, and easily configurable workflow engine.

In contrast to many other Java-based workflow engines, it is not only written in 100% pure Java but it also uses Java for workflow definitions.

Having this core, you will be able to define as many Java tasks as you need!

How Can I Build a Workflow?

To create your own workflow follow these steps:

  1. Inside com.ernest.javaworkflowengine.tasks create your tasks extending them from the BaseTask. Doing that, you will have to Override executeTaskLogic method. Is here where you have to set the business logic. Once you have created all your tasks, you are ready to define your own worflow.
public class Task1 extends BaseTask {

    @Override
    protected void executeTaskLogic() {
        log.info("Executing Task 1");
    }
}
  1. Inside com.ernest.javaworkflowengine.workflows create your new workflow builder implementing the WorkflowBuilder interface. Here you will have to define a TaskPath as follows:
public class WorkflowExampleBuilder implements WorkflowBuilder{

    @Override
    public Workflow build() {
        TaskPath taskPath = new TaskPath()
                .addTask(new Task1()
                        .addParallelTasks(new Task12())
                        .addParallelTasks(new Task13())
                        .addParallelTasks(new Task14()))
                .addTask(new Task2());

        return new Workflow(taskPath);
    }
}
  1. Now everything is ready to start your own workflow!
  Workflow workflow = new WorkflowExampleBuilder().build();
  workflow.execute();

Contributing

Click the star button to make the author and his neighbors happy 😊. Then fork the repository and submit a pull request for whatever change you want to be added to this project.

If you have any questions or improvement proposal, just open an issue.

Enjoy it Folks!

About

An open-source, powerful, light-weight, and easily configurable workflow engine.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages