import org.activiti.engine.repository.ProcessDefinitionQuery; //导入方法依赖的package包/类
@Test
public void testClasspathDeployment() throws Exception {
// 定义classpath
String bpmnClasspath = "chapter5/candidateUserInUserTask.bpmn";
String pngClasspath = "chapter5/candidateUserInUserTask.png";
// 创建部署构建器
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
// 添加资源
deploymentBuilder.addClasspathResource(bpmnClasspath);
deploymentBuilder.addClasspathResource(pngClasspath);
// 执行部署
deploymentBuilder.deploy();
// 验证流程定义是否部署成功
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
long count = processDefinitionQuery.processDefinitionKey("candidateUserInUserTask").count();
assertEquals(1, count);
// 读取图片文件
ProcessDefinition processDefinition = processDefinitionQuery.singleResult();
String diagramResourceName = processDefinition.getDiagramResourceName();
assertEquals(pngClasspath, diagramResourceName);
Map vars = new HashMap();
ArrayList objs = new ArrayList();
objs.add(new Date());
vars.put("list", objs);
// vars.put("aaa", "333");
runtimeService.startProcessInstanceByKey("candidateUserInUserTask", vars);
List list = taskService.createTaskQuery().includeProcessVariables().list();
System.out.println(list);
Task task = taskService.createTaskQuery().taskId(list.get(0).getId())
.includeProcessVariables().includeTaskLocalVariables().singleResult();
CommandContext commandContext = Context.getCommandContext();
System.out.println(task);
System.out.println(commandContext);
// ProcessEngineImpl defaultProcessEngine = (ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine();
// Context.setProcessEngineConfiguration(defaultProcessEngine.getProcessEngineConfiguration());
// Context.setCommandContext(defaultProcessEngine.getProcessEngineConfiguration().getCommandContextFactory().createCommandContext(null));
System.out.println(Context.getCommandContext());
System.out.println(task.getProcessVariables());
}