在Java中實現(xiàn)工作流通常涉及以下步驟:
以下是一個簡單的示例,展示了如何使用Activiti工作流引擎在Java中實現(xiàn)一個基本的工作流:
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.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
public class SimpleWorkflowExample {
private RepositoryService repositoryService;
private RuntimeService runtimeService;
private TaskService taskService;
public void deployWorkflow() {
// 部署工作流定義
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("simple-workflow.bpmn20.xml")
.name("Simple Workflow")
.deploy();
}
public void startWorkflow(String processInstanceId) {
// 啟動工作流實例
ProcessInstance processInstance = runtimeService.createProcessInstanceById(processInstanceId)
.start();
}
public void completeTask(String taskId) {
// 完成任務
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
if (task != null) {
taskService.complete(task.getId());
}
}
// 其他方法,如查詢?nèi)蝿?、獲取流程定義等
}
在這個示例中,我們使用了Activiti的RepositoryService、RuntimeService和TaskService來部署、啟動和管理工作流。首先,我們部署了一個名為"simple-workflow.bpmn20.xml"的工作流定義。然后,我們啟動了一個工作流實例,并通過完成任務來推進工作流的執(zhí)行。