# workflow
**Repository Path**: loverong/workflow
## Basic Information
- **Project Name**: workflow
- **Description**: 提供一个基于Java的工作流程框架
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-06-08
- **Last Updated**: 2021-06-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# workflow
提供一个基于Java的工作流程框架
## 特性
- **轻量级**:仅仅引入了常用的依赖,如mybatis、dom4j、fel
- **易用性**:此工作流框架提供了常用的工作流组件
## 支持数据库
> 目前仅支持MySQL、PostgreSQL数据库
## 快速开始
> **组件**:Start Event、End Event、User Task、Exclusive Gateway、Sequence Flow
这些组件都是在BPMN2.0中有定义的组件,该框架为了简化使用场景,只定义了上述组件,后续有需要会增加组件的支持。
> 添加依赖(目前只发布到阿里云私服)
```xml
com.kalle
workflow
1.1
```
> 配置工作流WorkFlow
```java
@Configuration
public class WorkFlowConfig {
//注入数据源
@Autowired
private DataSource dataSource;
//配置WorkflowEngineConfiguration,必须指定数据源
@Bean
public WorkFlowEngineConfiguration workFlowEngineConfiguration() {
WorkflowEngineConfiguration workflowEngineConfiguration = new WorkflowEngineConfiguration();
workflowEngineConfiguration.setDataSource(dataSource);
return workflowEngineConfiguration;
}
//配置WorkflowEngine
@Bean
public WorkflowEngine workflowEngine() {
return workFlowEngineConfiguration().getWorkflowEngine();
}
//部署流程接口
@Bean
public DeploymentService deploymentService() {
return workflowEngine().getDeploymentService();
}
//流程图任务接口
@Bean
public TaskService taskService() {
return workflowEngine().getTaskService();
}
//顺序流接口
@Bean
public SequenceFlowService sequenceFlowService() {
return workflowEngine().getSequenceFlowService();
}
//流程实例接口,主要用于流程发起
@Bean
public ProcessService processService() {
return workflowEngine().getProcessService();
}
//流程节点接口,主要用于流程节点查询以及节点推进
@Bean
public FlowService flowService() {
return workflowEngine().getFlowService();
}
}
```
> 流程图定义示例
```xml
```