A Java-based process orchestration framework that provides task scheduling, execution management, and process flow control capabilities.
This framework allows you to define and execute complex process workflows with dependent tasks, timeouts, and state management. It uses a database backend for persistence and provides robust error handling and process control.
ProcessOrchestrator- Main orchestration engine that manages process executionProcessDefinition- Defines process structure and task dependenciesProcess- Handles the execution of process instancesTaskExecutorService- Custom executor service for task management with timeout capabilities
ProcessInstanceImpl- Process instance implementation with state managementTaskInstanceImpl- Task instance implementation with execution state trackingDataContext- Context storage for process and task data
ContextRepository- Manages persistence of context dataProcessInstanceRepository- Handles process instance persistenceTaskInstanceRepository- Manages task instance persistence
TaskExecutionWrapper- Wraps task execution with callback handlingTerminateRunnable- Handles graceful task termination
- Task dependency management
- Process and task state persistence
- Timeout handling for tasks
- Asynchronous task execution
- Process termination capabilities
- Version control for data consistency
- Context data management
- Error handling and recovery
The framework uses the following tables:
po_context- Stores context datape_process_instance- Stores process instancespe_task_instance- Stores task instances