目录
一、支持的配置方式
作为应用程序的一部分来管理流程引擎,有以下配置方式:
- Java API编程方式
- XML
-
Spring
二、如何获取引擎配置对象
- 独立方式
org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration
- 单元测试
//默认采用h2内存数据库
org.camunda.bpm.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration
- Spring
org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration
- JTA事务
org.camunda.bpm.engine.impl.cfg.JtaProcessEngineConfiguration
三、如何获取流程引擎对象
通过流程引擎配置对象来构建流程引擎对象
使用ProcessEngineConfiguration.createXXX()构建ProcessEngineConfiguration 后,再通过buildProcessEngine()来构建流程引擎对象。
- Java API
ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration()
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE)
.setJdbcUrl("jdbc:h2:mem:my-own-db;DB_CLOSE_DELAY=1000")
.setJobExecutorActivate("true")
.buildProcessEngine();
- Spring XML
//获取默认的对象
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//在camunda.cfg.xml配置
<bean id="processEngineConfiguration" class="org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration">
//属性省略......
</bean>
支持不同的bean
//默认的,先从camunda.cfg.xml中获取,获取异常再次activiti.cfg.xml中获取
ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
//通过XML资源创建
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource);
//通过XML资源创建且指定beanName
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource, String beanName);
//通过XML资源流
ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream);
//通过XML资源流、beanName
ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream, String beanName);
基于默认创建
ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
- bpm-platform.xml
支持在多个容器中配置camunda BPM平台,比如tomcat、websphere、weblogic
<process-engine name="default">
<job-acquisition>default</job-acquisition>
<configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
<datasource>java:jdbc/ProcessEngine</datasource>
<properties>
<property name="history">full</property>
<property name="databaseSchemaUpdate">true</property>
<property name="authorizationEnabled">true</property>
</properties>
</process-engine>
- processes.xml
也可以在 META-INF/processes.xml以下配置