springboot+hibernate+flowable 框架开发工作流遇到的问题

13 篇文章 0 订阅

1,引入依赖:

<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<!--flowable工作流依赖-->
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-boot-starter-basic</artifactId>
			<version>6.4.1</version>
		</dependency>

引入工作流需要的依赖,这里为什么还引入了mybatis的依赖,我感觉我是被逼的,因为在使用flowable 启动项目生成工作流数据表的时候报错,也就是flowable还存在小坑。但是这并不影响开发,只要引入mybatis 依赖就可以了。

2,配置flowable 

@Configuration
public class FlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {
    @Override
    public void configure(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
        springProcessEngineConfiguration.setActivityFontName("宋体");
        springProcessEngineConfiguration.setLabelFontName("宋体");
        springProcessEngineConfiguration.setAnnotationFontName("宋体");
    }


    @Bean
    public ProcessEngine getProcessEngine(){
        ProcessEngineConfiguration pec = new StandaloneProcessEngineConfiguration();
        pec.setJdbcDriver("****");
        pec.setJdbcUrl("****");
        pec.setJdbcUsername("***");
        pec.setJdbcPassword("***");

        pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        pec.setAsyncExecutorActivate(false);
//        pec.setDatabaseSchema("base.");
//
//        pec.setDatabaseTablePrefix("base.");
        pec.setDatabaseSchemaUpdate("true");

        ProcessEngine processEngine = pec.buildProcessEngine();
        return processEngine;
    }

}

这里说一下,有的人也许会问为什么不在配置文件里去配置flowable的参数,在这里抱歉的告诉客官 我尝试几次没成功,无奈只能在配置启动class。

但是还是存在问题。

问题描述:

1-1:pec.setDatabaseSchemaUpdate("true"); 刚开始我只配置了 这行代码,但是项目运行报错,【表或视图不存在】,根据参数描述 这可以自动生成工作流所需要的表结构的哇,为什么,不行呢?

1-2:pec.setDatabaseTablePrefix("base.");又配置了这个属性;从属性描述 上可以看出这是 表的前缀啊,开始我很单纯的配置了 base 但是没有点(注意这个base是我的数据库表前缀,不是你的哦,根据自己情况配置);然后兴高采烈的启动项目,duang,报错!!!!baseACT_ID_USER ......... 具体错误忘记了,我你妈,居然需要加上点,一个点;熊了;

经过这顿折腾,再试试;项目成功启动,工作流表也生成了。高兴啊;

1-3:配置不变,重启项目,duang!!!全是错误》》》》什么表已存在、索引已被使用等等 各种数据异常扑面而来;

这是怎么了??怎么了??我以为把这段配置pec.setDatabaseSchemaUpdate("true"); 改成false就可以了,但是又出现新问题 flowable版本不正确,这里我引入的是 6.4.1的,报错是db version 5.99.0.0的版本,数据库版本低了??然并不是,这个5.99.0.0 版本是人家默认的,咋办?

最终几经尝试这个配置是这样子的

如果工程数据库不存在工作流表,配置是这样的

@Bean
    public ProcessEngine getProcessEngine(){
        ProcessEngineConfiguration pec = new StandaloneProcessEngineConfiguration();
        pec.setJdbcDriver("");
        pec.setJdbcUrl("");
        pec.setJdbcUsername("");
        pec.setJdbcPassword("");

        pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        pec.setAsyncExecutorActivate(false);
//        pec.setDatabaseSchema("base.");
//
        pec.setDatabaseTablePrefix("base.");
        pec.setDatabaseSchemaUpdate("true");

        ProcessEngine processEngine = pec.buildProcessEngine();
        return processEngine;
    }

把这行代码 pec.setDatabaseTablePrefix("base."); 放开,生成工作流表结构;

如果数据库存在了 工作流表结构,这行代码就注释掉;

总结:

这里只是我遇到的问题,仅供参考,如果客官有好的方法,请不吝赐教,在此拜谢了;

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值