工作流代码清单(一行一个注释)

不喜欢啰里啰唆的,只喜欢直接上代码,一行一个注释,有需要调用方法的只需要把被注释的部分展开即可

配置文件(文件名必须是activiti.cfg.xml,否则加载不到配置信息):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<context:property-placeholder location="jdbc.properties"/>
<bean name="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/activity1?useUnicode=true&amp;characterEncoding=utf8"></property>
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<property name="databaseSchemaUpdate" value="true"></property>
</bean>

</beans>

方法总结(刚开始学,所以有注释不对的地方请见谅)

/**
 * 工作流汇总
 * @author dongl
 *
 */


import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipInputStream;


import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;


public class AllActiviti {
//加载配置文件
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
public static void main(String[] args) {
AllActiviti a =  new AllActiviti();
// a.allTask();
a.getTask();
}
public void allTask() {
/**
* 通过绘制的流程图创建流程实例
*/
/*
//获取流程service
RepositoryService service = processEngine.getRepositoryService();
//创建流程部署对象
DeploymentBuilder deployment = service.createDeployment();
//设置流程实例名称
DeploymentBuilder name = deployment.name("流程实例汇总");
//加载bpmn格式的文件
DeploymentBuilder resource = deployment.addClasspathResource("diagrams/HelloWord.bpmn");
//加载png格式的文件
DeploymentBuilder resource2 = deployment.addClasspathResource("diagrams/HelloWord.png");
//开始创建流程
Deployment deploy = resource2.deploy();
*/
/**
* 通过ZIP压缩包创建流程实例
*/
/*
//加载class path中的压缩文件的输入流信息
InputStream resourceAsStream = AllActiviti.class.getClassLoader().getResourceAsStream("diagrams/HelloWord.zip");
//将输入流信息转化成压缩后的输入流信息
ZipInputStream zipInputStream = new ZipInputStream(resourceAsStream);
//获取流程实例对象
RepositoryService repositoryService = processEngine.getRepositoryService();
//创建流程部署对象
DeploymentBuilder createDeployment = repositoryService.createDeployment();
//设置流程部署名称
DeploymentBuilder name = createDeployment.name("我的压缩流程");
//读取压缩文件中的流程部署信息
DeploymentBuilder addZipInputStream = name.addZipInputStream(zipInputStream);
//正式创建流程部署信息
Deployment deploy = addZipInputStream.deploy();
*/
/**
* 查询流程定义信息
*/
/*
//获取流程实例对象
RepositoryService repositoryService = processEngine.getRepositoryService();
//创建一个流程文件的查询
ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
//查询所有流程集合
List<ProcessDefinition> list = query.list();
for (ProcessDefinition p : list) {
//流程定义的KEY+版本+随机生成的数
System.out.println("流程定义的ID:"+p.getId());
//流程定义的名称
System.out.println("流程定义的名称"+p.getName());
//流程定义的key
System.out.println("流程定义的key"+p.getKey());
}
//根据流程对象ID进行正向排序
ProcessDefinitionQuery orderByDeploymentId = query.orderByDeploymentId().asc();
//根据流程对象ID查询流程信息
ProcessDefinitionQuery processDefinitionId = orderByDeploymentId.processDefinitionId("");
//根据流程定义的KEY查询
ProcessDefinitionQuery processDefinitionKey = orderByDeploymentId.processDefinitionKey("");
//根据流程定义的名称查询
ProcessDefinitionQuery processDefinitionName = orderByDeploymentId.processDefinitionName("");
//根据流程定义的名称模糊查询
ProcessDefinitionQuery processDefinitionNameLike = orderByDeploymentId.processDefinitionNameLike("");
//返回唯一结果集
ProcessDefinition singleResult = orderByDeploymentId.singleResult();
//获取流程的总数
long count = query.count();
System.out.println(count);
*/
/**
* 删除流程实例
*/
/*
//获取流程实例信息
RepositoryService repositoryService = processEngine.getRepositoryService();
//根据流程ID删除流程,当流程已启动时将抛出异常
repositoryService.deleteDeployment("47501");
//根据流程ID删除流程,当流程启动时将同时删除已执行的流程实例
repositoryService.deleteDeployment("45001", true);
*/
}
/**
* 个人任务汇总
*/
public void getTask() {
/**启动流程实例*/
/*
//获取流程启动的service
RuntimeService runtimeService = processEngine.getRuntimeService();
//根据流程KEY启动流程实例
ProcessInstance startProcessInstanceByKey = runtimeService.startProcessInstanceByKey("HelloWord");
//流程名称
System.out.println("流程名称:"+startProcessInstanceByKey.getName());
//流程实例ID
System.out.println("流程实例ID:"+startProcessInstanceByKey.getActivityId());
//流程定义ID
System.out.println("流程定义ID:"+startProcessInstanceByKey.getProcessDefinitionId());
*/
/**
* 获取个人流程实例
*/
/*
//获取个人任务的service
TaskService taskService = processEngine.getTaskService();
//获取个人任务的创建SQL
TaskQuery createTaskQuery = taskService.createTaskQuery();
//根据人的姓名获取个人任务
TaskQuery taskAssignee = createTaskQuery.taskAssignee("张三");
//获取个人任务集合
List<Task> list = taskAssignee.list();
//便利个人任务信息
for (Task task : list) {
//任务ID
System.out.println("任务ID:"+task.getName());
//个人任务名称
System.out.println("个人任务名称:"+task.getName());
//任务创建时间
System.out.println("任务创建时间:"+task.getCreateTime());
//任务的创建人
System.out.println("任务的创建人:"+task.getAssignee());
//流程定义ID
System.out.println("流程定义ID:"+task.getProcessDefinitionId());
//流程对象ID
System.out.println("流程对象ID:"+task.getExecutionId());
//流程实例ID
System.out.println("流程实例ID:"+task.getProcessInstanceId());
}
*/
/**
* 完成我的任务
*/
/*
processEngine.getTaskService().complete("37504");
*/
/**
* 获取最新版本的流程实例
*/
List<ProcessDefinition> list = processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.orderByProcessDefinitionVersion()
.asc()
.list();
Map<String, ProcessDefinition> map = new HashMap<String,ProcessDefinition>();
for (ProcessDefinition processDefinition : list) {
map.put(processDefinition.getKey(), processDefinition);
}
List<ProcessDefinition> definitions = new ArrayList<ProcessDefinition>(map.values());
for (ProcessDefinition processDefinition : definitions) {
System.out.println("流程定义的ID:"+processDefinition.getId());
System.out.println("流程定义的名称:"+processDefinition.getName());
System.out.println("流程定义的key:"+processDefinition.getKey());
System.out.println("流程的版本:"+processDefinition.getVersion());
System.out.println("资源的bpmn文件:"+processDefinition.getResourceName());
System.out.println("资源名称png文件:"+processDefinition.getDiagramResourceName());
System.out.println("部署对象:"+processDefinition.getDeploymentId());
System.out.println();
}
}

}

jar包地址:https://download.csdn.net/download/qq_27243967/10540464

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值