前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目实践工作流之Activiti学习(二十二)

项目实践工作流之Activiti学习(二十二)

作者头像
用户1289394
发布2023-11-06 17:30:35
1310
发布2023-11-06 17:30:35
举报
文章被收录于专栏:Java学习网Java学习网

6.5.2 方式 2

通过查询流程部署信息获取流程定义资源。

代码语言:javascript
复制
// 获取流程定义图片资源
@Test
public void getProcessResources() throws IOException {
//流程部署id
String deploymentId = "9001";
// 通过流程引擎获取repositoryService
RepositoryService repositoryService = processEngine
.getRepositoryService();
//读取资源名称
List<String> resources = 
repositoryService.getDeploymentResourceNames(deploymentId);
String resource_image = null;
//获取图片
for(String resource_name :resources){
if(resource_name.indexOf(".png")>=0){
resource_image = resource_name;
}
} 
//图片输入流
InputStream inputStream = 
repositoryService.getResourceAsStream(deploymentId, resource_image);
File exportFile = new File("d:/holiday.png");
FileOutputStream fileOutputStream = new
FileOutputStream(exportFile);
byte[] buffer = new byte[1024];
int len = -1;
//输出图片
while((len = inputStream.read(buffer))!=-1){
fileOutputStream.write(buffer, 0, len);
}
inputStream.close();
fileOutputStream.close();
}

说明:

1) deploymentId 为流程部署 ID

2) resource_name 为 act_ge_bytearray 表中 NAME_列的值

3) 使用 repositoryService 的 getDeploymentResourceNames方法可以获取指定部署下得所有文件的名称

4) 使用 repositoryService 的 getResourceAsStream 方法传入部署 ID和资源图片名称可以获取部署下指定名称文件的输入流

5) 最后的将输入流中的图片资源进行输出。

6.6流程历史信息的查看

即使流程定义已经删除了,流程执行的历史信息通过前面的分析,依然保存在 activiti 的 act_hi_*相关的表中。所以我们还是可以查询流程执行的历史信息,可以通过 HistoryService 来查看相关的历史记录。

代码语言:javascript
复制
public void testHistoric01(){
 HistoryService historyService = pe.getHistoryService();
 HistoricActivityInstanceQuery query = 
historyService.createHistoricActivityInstanceQuery();
 query.processInstanceId("1501");
 
 List<HistoricActivityInstance> list = query.list();
 for(HistoricActivityInstance ai :list){
 System.out.println(ai.getActivityId());
 System.out.println(ai.getActivityName()); 
 System.out.println(ai.getProcessDefinitionId());
 System.out.println(ai.getProcessInstanceId());
 System.out.println("==============================");
 }
 }
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档