SpringBoot整合activiti遇到的一些问题

我这是在springboot的基础上引入activiti,springboot的配置很简单就不说了,整合activiti互不影响

安装插件

我使用的是IDEA,首先需要安装插件
settings搜索actiBPM,找不到搜索就好了,我这里已经安装好了。

引入依赖

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter-basic</artifactId>
    <version>6.0.0</version>
</dependency>

其实这样就可以了,接下来启动

启动

问题1

一开始我引入依赖不是上面那个,是下面这个,少了个basic,版本也不一样,具体可以上maven查看

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.1.0.M2</version>
</dependency>

如果引入这个依赖,会出现一个问题,就是
在这里插入图片描述
每次启动会出现这个,然后psotman访问回401,关于401网上基本都是说引入了‘spring-boot-starter-security’,但我会这里没有引入security包也出现了,怎么解决呢?我也不知道,因为后来我换成一开始那个依赖,就没有这个问题了,但出现其他问题。
题外话:这个‘spring-boot-starter-security’非常有意思,用网页打开你的项目会出现一个登录页面,而且这个页面还不是你写的,
输入用户名:user
密码:(启动时会提供密码,随机的,截图红色框内那个)
就可以正常访问了,不然访问会被拦截,但用postman就不知道如何处理了,以后有兴趣可以了解下。

问题2

变回一开始那个依赖,启动会报以下问题:

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

具体原因应该是少了security的问题
解决办法:

@SpringBootApplication( exclude = SecurityAutoConfiguration.class)

在springboot启动类上加上括号里面这句,让springboot排除掉security就好了。

问题3

启动之后查看数据库,没有新增表
解决方案:
在配置文件,数据库链接url后面加上

nullCatalogMeansCurrent=true

原因是:activiti5.0 默认true 6.0默认false

问题4

启动成功之后,你会发现你的数据库新增了很多表,网上有人说是25,但我只有17张表,是因为activiti版本不同,默认初始化生成的表不一样。如若少了表,
解决办法:
在配置文件application.yml加上配置

spring:
  activiti:
    db-history-used: true

再启动就有了
我这里是application.yml,跟application.properties是类似的,写法不同而已。但yml看起来更清爽

问题5

因为我一开始不知哪个版本号,就经常改版本,有一次启动出现一个问题

Could not update Activiti database schema: unknown version from database:7.x.x.x‘

原因是: activiti 相关的jar版本和表 act_ge_property 中 schema.version 所存储的版本不一致导致报错的。因为之前版本生成的表,和新版本的表有冲突。
解决办法:
方案一、act_ge_property 表中的 schema.version 字段版本修改为和 activiti jar包版本一致即可。
方案二、简单直接,把之前生成的表删了,再启动生成一次,就好了。

其他细节

1.xx.bpmn 文件,activiti似乎有默认扫描路径,放在resources/processes文件下。
2.idea安装actiBPM插件,经常会报错,这个不用理他就好了。这点做得不如eclipse,希望官方能更新这个插件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值