`

Spring Boot与Activiti整合后,查看流程图乱码问题

阅读更多

最近研究SpringBoot 整合Activiti时,实现流程图高亮追踪是出现中文乱码问题,找了很多方法,现在把我最后的解决方法提供给大家。

Spring Boot是微服务快速开发框架,强调的是零配置,显然不推荐采用XML配置文件的方式解决。不使用Spring Boot的时候,

是通过下面这种方式就可以解决

①原始解决方式:在Spring配置文件中的


<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">   

中加入两行代码:

<property name="activityFontName" value="宋体"/>

<property name="labelFontName" value="宋体"/>

配置如下:

<bean id="processEngineConfiguration"
        class="org.activiti.spring.SpringProcessEngineConfiguration">
        <property name="activityFontName" value="宋体"/>
        <property name="labelFontName" value="宋体"/>

        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="databaseSchemaUpdate" value="true" />
        <property name="mailServerHost" value="localhost" />
        <property name="mailServerPort" value="5025" />
        <property name="jpaHandleTransaction" value="true" />
        <property name="jpaCloseEntityManager" value="true" />
        <property name="jobExecutorActivate" value="false" />
    </bean>

②Spring Boot中我采用的解决办法是,生成流程图的时候设置字体和编码信息解决,如下

 public void genPic(String procId) throws Exception {
        ProcessInstance pi = this.processEngine.getRuntimeService().createProcessInstanceQuery()
                .processInstanceId(procId).singleResult();
        BpmnModel bpmnModel = this.processEngine.getRepositoryService().getBpmnModel(pi.getProcessDefinitionId());
        List<String> activeIds = this.processEngine.getRuntimeService().getActiveActivityIds(pi.getId());
        ProcessDiagramGenerator p = new DefaultProcessDiagramGenerator();
        InputStream is = p.generateDiagram(bpmnModel, "png", activeIds, Collections.<String> emptyList(), "宋体", "宋体",
                null, 1.0);


        File file = new File("d:\\Download\\process.png");
        OutputStream os = new FileOutputStream(file);

        byte[] buffer = new byte[1024];
        int len = 0;
        while ((len = is.read(buffer)) != -1) {
            os.write(buffer, 0, len);
        }

        os.close();
        is.close();
    }

  转载请注明:http://www.xujin.org

分享到:
评论

相关推荐

    spring boot整合activiti modeler 实例

    在本实例中,我们将探讨如何将这两个优秀框架整合起来,利用 Activiti Modeler 在 Spring Boot 应用中实现业务流程的可视化设计和执行。 首先,我们需要理解 Spring Boot 如何配置 Activiti。在 Spring Boot 项目中...

    最简单的含单元测试的spring boot+activiti集成demo

    【标题】"最简单的含单元测试的spring boot+activiti集成demo" 描述了一种将流行的Spring Boot框架与流程管理工具Activiti结合使用的实践案例。这个集成演示项目旨在帮助开发者快速理解和实现基于Spring Boot的...

    Spring Boot wIth Activiti

    Spring Boot与Activiti的整合是企业级应用中常见的工作流管理解决方案。Spring Boot以其"约定优于配置"的理念,简化了Spring应用的初始化和配置过程,而Activiti则是一款功能强大的开源工作流引擎,用于处理业务流程...

    jeecgboot +activiti5.22集成

    6. **监控与优化**:通过Activiti提供的监控工具,可以查看流程实例的状态,分析流程执行效率,对不合理的流程进行优化。 在JeecgBoot的项目中,可能还会涉及到与Spring Boot的深度整合,例如使用Spring Security...

    spring boot整合activiti

    **Spring Boot 整合 Activiti 知识点详解** Activiti 是一个开源的工作流和业务流程管理(BPM)系统,它提供了强大的流程定义、执行和监控能力。Spring Boot 则是基于 Spring 框架的轻量级开发工具,简化了 Spring ...

    Activiti5学习-activiti流程图中文乱码

    本文主要探讨的是在使用Activiti5时遇到的流程图中文乱码问题,以及如何解决这个问题。 首先,我们需要理解Activiti的工作原理。Activiti是一个基于Java的BPMN 2.0标准实现,它可以解析流程定义文件(通常是 BPMN ...

    spring-boot-activiti整合源码

    spring-boot-activiti 整合源码

    IDEA创建spring boot +Activiti 6.0

    在本项目中,我们主要探讨如何使用IntelliJ IDEA(IDEA)集成Spring Boot框架,并与Activiti 6.0工作流引擎进行整合。这是一个适合新手学习的实践案例,虽然可能在代码规范性方面存在不足,但能帮助初学者理解基本的...

    spring boot整合activiti modeler实例源码下载

    本实例将详细介绍如何在 Spring Boot 项目中整合 Activiti Modeler,以实现高效灵活的流程管理。 首先,我们需要理解 Spring Boot 和 Activiti 的基本概念。Spring Boot 是基于 Spring 框架的快速开发工具,它通过...

    spring-boot-activiti-moduler-test.zip

    7. **扩展性**:Spring Boot与Activiti的整合还允许我们进行更高级的定制,如使用Spring Security进行权限控制,使用Spring Data JPA存储流程变量,甚至自定义Activiti的表结构和行为。 在这个过程中,Spring Boot...

    activiti流程图查看demo

    接下来,我们来看看如何使用diagram-viewer来查看流程图: 1. **部署流程定义**:在Activiti中,首先需要将`.bpmn`文件部署到Activiti Engine,这将生成流程定义实例。部署可以通过API或者使用管理界面完成。 2. *...

    spring boot+activiti+shiro+layui+Mysql权限管理系统源码

    2. **Activiti**: Activiti是一个开源的工作流和业务流程管理(BPM)系统,它与Spring框架深度集成。在本系统中,Activiti主要用于处理业务流程,比如审批流程、任务分配等。Activiti提供了模型驱动的设计工具,使得...

    spring-boot-activiti集成

    spring-boot与activiti 集成,使用的是activiti5.22,使用ideal开发工具,在test类中有整个调用实现过程,使用于新手测试及了解activiti,减少入门前的各种配置工作

    jeecgboot集成jeecg-boot-activiti1

    【集成jeecg-boot-activiti1】...通过以上步骤,开发者可以将Activiti与Jeecg Boot有效地整合,实现基于工作流的企业级应用,提高业务流程的自动化管理水平。在实际开发中,应根据项目的具体需求和环境进行适当的调整。

    spring boot2.1.1.RELEASE集成Activiti 6实战编程

    《Spring Boot 2.1.1.RELEASE 集成 Activiti 6 实战编程》是一本深入探讨如何在Spring Boot环境下与Activiti工作流引擎整合的教程。Activiti是企业级的开源工作流和业务流程管理(BPM)系统,它提供了强大的流程建模...

    Spring boot整合activiti工作流引擎

    1111、整合流程图在线设计器,设计后需要发布,完成流程的部署。 11111、如需添加新的流程,设计好后还需编写前后端代码完成业务逻辑的开发。 111111、增删改查、权限管理、代码生成、页面交互的基础设施由若依平台...

    jeecg-boot集成activiti demo.rar

    通过Jeecg-Boot与Activiti的集成,开发者能够轻松地构建出具有强大流程管理能力的企业应用,提升业务流程的自动化水平,简化管理,提高效率。深入理解和实践这两个框架的结合,对于提升开发者的技能和解决复杂业务...

    spring boot 完整Activiti6.0 Demo

    6. **监控和日志**:Activiti6.0提供了监控工具,可以查看流程实例的状态、历史记录等。Spring Boot的日志系统(如Logback或Log4j)可以帮助开发者追踪流程执行的详细信息,这对于调试和优化流程非常有用。 7. **...

Global site tag (gtag.js) - Google Analytics