activiti6 如何配置标识key 使用java代码实现
时间: 2024-05-02 22:22:33 浏览: 80
首先,需要在项目中引入 activiti-engine 和 activiti-spring 两个依赖。然后,在 Spring 配置文件中,配置一个 ProcessEngineConfigurationImpl 的 bean,并设置好数据库连接等信息。配置如下:
```xml
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="false"/>
<property name="asyncExecutorActivate" value="false"/>
<property name="history" value="full"/>
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
<property name="processDiagramGenerator">
<bean class="org.activiti.image.impl.DefaultProcessDiagramGenerator"/>
</property>
</bean>
```
然后,在代码中使用如下方式来获取 ProcessEngine 对象,并从中获取 RepositoryService 对象:
```java
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
```
接下来,就可以使用 RepositoryService 对象来管理流程定义了。例如,可以通过以下方式来部署流程定义并获取流程定义的 id:
```java
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("processes/my-process.bpmn20.xml")
.deploy();
String processDefinitionId = deployment.getDeployedArtifacts().get(0).getId();
```
至于如何配置标识 key,可以在流程定义的 XML 文件中通过添加 ExtensionElements 来实现。例如:
```xml
<bpmn:process id="my-process" name="My Process">
<bpmn:extensionElements>
<activiti:executionListener event="start" class="com.example.MyStartExecutionListener" />
<activiti:taskListener event="create" class="com.example.MyCreateTaskListener" />
<activiti:variableListener event="create" class="com.example.MyCreateVariableListener" />
<activiti:identityLinkType activiti:identityLinkTypeName="boss" activiti:extensionName="boss" activiti:extensionElement="boss"/>
</bpmn:extensionElements>
...
</bpmn:process>
```
在这个例子中,添加了一个 identityLinkType,其被用来配置一个叫做 "boss" 的标识 key。其他的监听器和变量监听器也可以使用类似的方式添加。
阅读全文