工作流的微服务启动出现空指针问题

出现的问题如下:

Caused by: java.lang.NullPointerException: nullat org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:1054) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1501) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:28) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker$1.run(CommandInvoker.java:37) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:78) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:57) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:42) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:48) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:63) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.9.RELEASE.jar:5.0.9.RELEASE]at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:29) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:44) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:68) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:858) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:66) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:57) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]... 60 common frames omitted

首先这个问题出现的原因在:DbSqlSession.java:1054位置,排查代码:

经过排查发现,这部分和databaseSchemaUpdate变量有关,然后查找databaseSchemaUpdate变量的定义:String databaseSchemaUpdate = Context.getProcessEngineConfiguration().getDatabaseSchemaUpdate();
这里我发现初始变量是false
但是在配置文件的对象中默认的使用是true

这里我们可以在配置文件中重新进行配置

重新启动之后异常变成了:

Caused by: org.activiti.engine.ActivitiWrongDbException: version mismatch: activiti library version is '7.0.0.0', db version is null Hint: Set <property name="databaseSchemaUpdate" to value="true" or value="create-drop" (use create-drop for testing only!) in bean processEngineConfiguration in activiti.cfg.xml for automatic schema creationat org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:942) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1499) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:28) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker$1.run(CommandInvoker.java:37) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:78) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:57) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:42) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:48) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:63) ~[activiti-engine-7.0.0.Beta3.jar:na]at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) ~[activiti-spring-7.0.0.Beta3.jar:na]at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.9.RELEASE.jar:5.0.9.RELEASE]at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) ~[activiti-spring-7.0.0.Beta3.jar:na]

这个是由于数据库内的版本跟实际的版本不匹配导致的(ACT_GE_PROPERTY表),我这是由于导数据的时候该表数据部分未导入成功,导致一直报改错误,我的pom.xml中的activiti 版本为xxx,而是数据表ACT_GE_PROPERTY中为null,这个问题可以在百度中找到。

总结:
出现上述问题,首先在工作流中的databaseSchemaUpdate你要了解,实际上如果你导库的时候出现异常,我们可以删除数据库中的表,然后重新生成,这样启动就不会报错了。

【工作流的微服务启动出现空指针问题】相关推荐

  1. 微服务启动成功无法注册到服务注册中心

    问题描述 微服务启动成功,没有报错,但是无法注册到服务注册中心.之前写过一个微服务是能注册成功的.把依赖包括版本号全部对照了一遍,发现没有问题. 查找了很多资料,没有找到解决办法.后来尝试在入口cla ...

  2. 微服务启动failed and no fallback available

    spring微服务启动报错 com.netflix.hystrix.exception.HystrixRuntimeException: DesignElementRemoteApiClient#fi ...

  3. nacos动态路由配置(二)-微服务启动自动配置网关路由

    经过上一篇我们发现nacos通过配置动态路由routes-api-gateway.yaml配置json,监听动态路由变化即可实现动态路由,非常的银杏化. 那么有的小伙伴发现配置json也比较麻烦,有没 ...

  4. springcloud不使用数据库微服务启动异常解决

    项目在文件处理微服务不使用数据库时,项目启动异常. 解决办法如下:

  5. 微服务启动顺序_基于华为云CSE微服务接口兼容常见问题

    微服务接口兼容常见问题 在进行微服务持续迭代开发的过程中,由于新特性在不停的加入,一些过时的特性在不停的修改,接口兼容问题面临巨大的挑战,特别是在运行环境多版本共存(灰度发布)的情况下.本章节主要描述 ...

  6. 微服务启动顺序_微服务框架Demo.MicroServer运行手册

    一.背景说明: 之前分享过一个微服务开发框架, "享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionle ...

  7. 微服务启动报错命令行太长解决方案

    Error running 'XXXXX': Command line is too long. Shorten command line for OrderServiceApplication or ...

  8. 微服务启动报错:Shutting down DiscoveryClient

    解决方案:在client项目中添加依赖: <!-- SpringBoot整合Web组件 --><dependency><groupId>org.springfram ...

  9. 微服务启动读取jar包失败:java: 读取D:\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar时出错; erro

    错误信息: java: 读取D:\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar时出错; error in ope ...

最新文章

  1. 非常有用的css使用总结
  2. 创建consumer服务
  3. 外向或内向是基因决定的?
  4. mysql 组合查询_MySQL组合查询教程
  5. 2018年90后薪资报告出炉:你在哪个级别???
  6. servlet ---- 响应对象
  7. Javascript脚本 : eval()函数
  8. Linux装gcc经过
  9. 本人为巨杉数据库(开源NoSQL)写的C#驱动,支持Linq,全部开源,已提交github
  10. 微信公众号H5支付遇到的那些坑
  11. 利用Docker快速部署Oracle环境
  12. (转)遇到重复的Maven项目初始配置,就要创建自己的Maven Archetype
  13. msm8937+android7.1.1显示驱动解决显示残影问题
  14. 40Gbit和100Gbit的网络可视性解决方案
  15. word 尾注 脚注_如何在Microsoft Word中使用脚注和尾注
  16. 记项目现场的翻车事故
  17. 巴比特 | 元宇宙每日必读:入职三个月就遭遣散,热潮过后的元宇宙会走向哪里?...
  18. vue的props父向子传值
  19. 解读 | 数据分析领域七大热门职业
  20. 液晶显示器点屏方法步骤及参数表

热门文章

  1. 我也谈谈日新网社区运营的一些东西
  2. JS中有没有简单的判断数组是否为空的方法
  3. Android 字体没效果,AndroidX 自定义字体不生效
  4. Revit二次开发01——环境搭建(附Revit 2018 + Visual Studio 2017下载地址)
  5. Notepad++Plugin NPP_Export插件
  6. GAMES101-现代计算机图形学入门-闫令琪 - lecture13 光线追踪1(Ray Tracing 1 - Whitted-Style Ray Tracing) - 课后笔记
  7. 安装正版微软官方win10简单方法
  8. 计算机硬件性能检测报告,硬件性能实际测试结果_平板电脑评测-中关村在线
  9. XiaomiRouter自学之路(01-项目背景)
  10. 关系数据模型与关系运算(一)