/**常用术语
* ProcessEngines:流程引擎管理类
* ProcessEngine :流程引擎类
* ProcessEngineImpl:流程引擎类实现类
* ProcessEngineConfiguration:流程引擎配置类
* ProcessEngineConfigurationImpl:流程引擎配置实现类
* ProcessEngineInfo:流程引擎信息类
*/
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println("流程引擎类: " + processEngine);
System.out.println("流程引擎类的名称: " + processEngine.getName());
//1.RepositoryService 操作流程定义相关 删除 部署流程定义等
RepositoryService repositoryService = processEngine.getRepositoryService();
System.out.println(repositoryService);
//2.RuntimeService 操作流程实例的
RuntimeService runtimeService = processEngine.getRuntimeService();
System.out.println(runtimeService);
//3.askService 操作任务相关的
TaskService taskService = processEngine.getTaskService();
System.out.println(taskService);
//4.IdentityService 操作用户或者组织机构相关的
IdentityService identityService = processEngine.getIdentityService();
System.out.println(identityService);
//5.HistoryService 查询历史表数据的
HistoryService historyService = processEngine.getHistoryService();
System.out.println(historyService);
//6.DynamicBpmnService 动态构造一个bpmn的服务
DynamicBpmnService dynamicBpmnService = processEngine.getDynamicBpmnService();
System.out.println(dynamicBpmnService);
//7.ManagementService 执行cmd以及job相关的
ManagementService managementService = processEngine.getManagementService();
System.out.println(managementService);
//8.FormService 操作流程表单的
FormService formService = processEngine.getFormService();
System.out.println(formService);
//流程引擎配置类
ProcessEngineConfiguration processEngineConfiguration = processEngine.getProcessEngineConfiguration();
System.out.println(processEngineConfiguration);
//获取bean
Map<Object, Object> beans = processEngineConfiguration.getBeans();
Object testA = beans.get("testA");
System.out.println(testA);
其他编程方式创建流程引擎
/**
* 手工构造配置类和引擎类
*/
@Test
public void buildEngine1() {
StandaloneProcessEngineConfiguration configuration = new StandaloneProcessEngineConfiguration();
configuration.setJdbcDriver("com.mysql.jdbc.Driver");
configuration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/flowable?useUnicode=true&characterEncoding=UTF-8");
configuration.setJdbcUsername("root");
configuration.setJdbcPassword("123456");
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
@Test
public void createProcessEngineConfigurationFromInputStream() {
InputStream inputStream = ProcessEngineTest.class.getClassLoader().getResourceAsStream("flowable.cfg.xml");
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(inputStream);
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
@Test
public void createProcessEngineConfigurationFromInputStream2() {
String beanName = "processEngineConfiguration1";
InputStream inputStream = ProcessEngineTest.class.getClassLoader().getResourceAsStream("flowable.cfg1.xml");
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(inputStream, beanName);
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
@Test
public void createProcessEngineConfigurationFromResourceDefault() {
ProcessEngineConfiguration configuration =
ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
@Test
public void createProcessEngineConfigurationFromResource() {
String resource = "flowable.cfg.xml";
ProcessEngineConfiguration configuration =
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource);
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
@Test
public void createProcessEngineConfigurationFromResource2() {
String resource = "flowable.cfg1.xml";
String beanName = "processEngineConfiguration1";
ProcessEngineConfiguration configuration =
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource,beanName);
processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}