activiti學習筆記(四)managementService
managementService
- Job任務管理
- 資料庫相關通用操作
- 執行流程引擎命令(Command)
Job任務查詢
從上述表可以看出主要還是Job相關的查詢。
資料庫相關操作
- 查詢表結構後設資料(TableMetaData)
- 通用表查詢(TablePageQuery)
- 執行自定義的sql查詢(executeCustomSql)
示例
ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
ProcessEngine processEngine = cfg.buildProcessEngine();
ManagementService managementService = processEngine.getManagementService();
// 獲取指定表的資料
TablePage tablePage = managementService.createTablePageQuery()
.tableName(managementService.getTableName(ProcessDefinitionEntity.class))
.listPage(0,100);
List<Map<String,Object>> rowsList = tablePage.getRows();
for (Map<String,Object> row : rowsList){
logger.info("row={}",row);
}
上述示例中通過呼叫tableName方法來指定要查詢的表,除了直接傳入表名如"act_ru_task"這種形式外,還可以使用上述managementService.getTableName(ProcessDefinitionEntity.class)
方法通過實體類來獲取表名。
接下來再看下如何自定義查詢方法:
首先修改配置檔案如下:
public interface MyCustomMapper {
@Select("select * from act_ru_task")
public List<Map<String,Object>> findAll();
}
介面的方法定義中新增select註解來實現自定義sql語句。
然後配置下流程配置檔案:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_activiti" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="abc123" />
<property name="databaseSchemaUpdate" value="true" />
<property name="customMybatisMappers">
<set>
<value>com.activiti.MyCustomMapper</value>
</set>
</property>
</bean>
最後後臺程式碼呼叫這個自定義介面:
List<Map<String, Object>> mapList = managementService
.executeCustomSql(
new AbstractCustomSqlExecution<MyCustomMapper,List<Map<String,Object>>>(MyCustomMapper.class){
public List<Map<String, Object>> execute(MyCustomMapper myCustomMapper) {
return myCustomMapper.findAll();
}
});
for(Map<String,Object> map: mapList){
logger.info("map={}",map);
}
結果正常輸出act_ru_task表的資料。
下面接著看managementService執行自定義命令:
ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
ProcessEngine processEngine = cfg.buildProcessEngine();
ManagementService managementService = processEngine.getManagementService();
managementService.executeCommand(new Command() {
public Object execute(CommandContext commandContext) {
// 自定義命令實現
return null;
}
});
相關文章
- activiti學習筆記二筆記
- Activiti工作流基礎學習筆記筆記
- activiti學習記錄
- TS學習筆記(四)筆記
- ONNXRuntime學習筆記(四)筆記
- springboot 學習筆記(四)Spring Boot筆記
- goLang學習筆記(四)Golang筆記
- DP學習筆記(四)(2024.10.2)筆記
- c++學習筆記(四)C++筆記
- 四元數 學習筆記筆記
- ES6 學習筆記四筆記
- Kubernetes學習筆記(四):服務筆記
- TS學習筆記(四):函式筆記函式
- Gradle外掛學習筆記(四)Gradle筆記
- Java學習筆記 第四天Java筆記
- 李巨集毅深度學習 筆記(四)深度學習筆記
- springcloud學習筆記(四)Spring Cloud HystrixSpringGCCloud筆記
- Activiti工作流學習筆記(四)——工作流引擎中責任鏈模式的建立與應用原理筆記模式
- 圖論進階學習筆記(四)(2024.10.4)圖論筆記
- Vue學習筆記(四) 久處不厭Vue筆記
- 機器學習筆記(四)決策樹機器學習筆記
- Java IO學習筆記四:Socket基礎Java筆記
- hive學習筆記之四:分割槽表Hive筆記
- HexMap學習筆記(四)——不規則化筆記
- Activiti 學習(三)—— Activiti 流程啟動並完成
- kettle學習筆記(四)——kettle輸入步驟筆記
- async-validator 原始碼學習筆記(四):validator原始碼筆記
- ES6學習筆記(四)【正則,集合】筆記
- numpy的學習筆記\pandas學習筆記筆記
- Java_EE企業級開發學習筆記——spring學習筆記第四章Java筆記Spring
- SpringBoot整合Activiti學習(一)Spring Boot
- SpringBoot + Spring Security 學習筆記(四)記住我功能實現Spring Boot筆記
- TypeScript 學習筆記 — 函式中的型別(四)TypeScript筆記函式型別
- Docker學習筆記 - 第四篇:映象倉庫Docker筆記
- 我的 golang 學習筆記系列四:反射初識Golang筆記反射
- Nginx虛擬主機常用配置(學習筆記四)Nginx筆記
- 學習筆記筆記
- 重學前端學習筆記(四)--div和span不是夠用嗎?前端筆記