Activiti图片乱码(高亮)

本文详细介绍了在Spring环境中配置Activiti引擎的过程,并通过示例展示了如何利用配置的引擎生成流程图,包括数据库类型、数据源、事务管理、历史记录、活动和标签字体等关键属性的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[img]http://dl2.iteye.com/upload/attachment/0116/5687/5baeb5e2-0f0a-31e1-85e4-dc2da3493863.png[/img]

在spring中设置ProcessEngineConfiguration中的属性

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="databaseType" value="postgres" />
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="true" />
<property name="history" value="full" />
<!-- 生成流程图的字体 -->
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
<property name="customSessionFactories">
<list>
<bean class="com.searchingsoft.platform.activiti.ActivitiUserManagerFactory" />
<bean class="com.searchingsoft.platform.activiti.ActivitiGroupManagerFactory" />
</list>
</property>
</bean>


在调用的方法(拷贝咖啡兔的方法)如下:

@RequestMapping("/~{custId}/workflow/trace/auto**")
public void readResource(@RequestParam("executionId") String executionId, HttpServletResponse response)
throws Exception {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(executionId).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
List<String> activeActivityIds = runtimeService.getActiveActivityIds(executionId);
// 不使用spring请使用下面的两行代码
// ProcessEngineImpl defaultProcessEngine = (ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine();
// Context.setProcessEngineConfiguration(defaultProcessEngine.getProcessEngineConfiguration());

// 使用spring注入引擎请使用下面的这行代码
processEngineConfiguration = processEngine.getProcessEngineConfiguration();
Context.setProcessEngineConfiguration((ProcessEngineConfigurationImpl) processEngineConfiguration);

// ProcessDiagramGenerator diagramGenerator = processEngineConfiguration.getProcessDiagramGenerator();
// InputStream imageStream = diagramGenerator.generateDiagram(bpmnModel, "png", activeActivityIds);
InputStream imageStream = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator()
.generateDiagram(bpmnModel, "png", activeActivityIds, Collections.<String>emptyList(),
processEngine.getProcessEngineConfiguration().getActivityFontName(),
processEngine.getProcessEngineConfiguration().getLabelFontName(),
processEngine.getProcessEngineConfiguration().getClassLoader(),1.0);



// 输出资源内容到相应对象
byte[] b = new byte[1024];
int len;
while ((len = imageStream.read(b, 0, 1024)) != -1) {
response.getOutputStream().write(b, 0, len);
}
}


[img]http://dl2.iteye.com/upload/attachment/0116/5685/60159210-b442-33d9-b628-db8330d07db8.png[/img]

启发于
[url]http://www.mossle.com/ask/question.do?id=4[/url]
[url]http://my.oschina.net/u/1241965/blog/294917[/url]
我去看了diagramGenerator.generateDiagram有哪些参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值