Activiti6完美集成SpringBoot2

轉自:https://www.jianshu.com/p/9b1dbb2c85e7

 

兩者爲什麼不能在一起

Activiti6 出來的時候,Springboot2 還沒有出來,所以不能直接引用
或者說,從源碼上就不支持

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

運行報錯

怎麼辦

1.網上大多都是屏蔽掉衝突的包

@SpringBootApplication( exclude = SecurityAutoConfiguration.class)

如果你並沒有將流程控制文件xx.bpmn加入項目也會報錯,所以我們在配置文件裏面暫時不檢查它,後續可能會更新通過配置文件如何管理控制activiti

activiti:
      database-schema-update: true
      check-process-definitions: false

可以成功運行並且看到數據庫裏面的28張表,但是我們不能保證後續會不會因爲這個原因出現其他問題

2.修改源碼

改一下源碼中對springboot2版本的支持,慕課網上某位老師就是這樣做的
感興趣的話可以跟着視頻自己改

我分享一下改好的

https://pan.baidu.com/s/18Ut_FKL0EPMmAqVVHjOamQ  
提取碼:7m0t

一個30KB的壓縮包,解壓後,放到maven本地倉庫中的
activiti\activiti-spring-boot-starter-basic下

toHere.png


接着引入

 

<!--加入自己編譯後的 activiti工作流6.0-->
       <dependency>
           <groupId>org.activiti</groupId>
           <artifactId>activiti-spring-boot-starter-basic</artifactId>
           <version>6.0.0-boot2</version>
       </dependency>

配置好數據庫就可以使用了

spring:
  thymeleaf:
    encoding: utf-8
    prefix: classpath:/templates/
    suffix: .html
  mvc:
    view:
      prefix: /
      suffix: .html
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@localhost:1521:ORACLE
    username: test1
    password: root
  activiti:
    database-schema-update: true
    check-process-definitions: true
    process-definition-location-prefix: classpath:/processes/
    history-level: full
    db-history-used: true
    db-identity-used: true
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
          hibernate:
            dialect: org.hibernate.dialect.Oracle10gDialect

tables.png

結語:生產環境還是不建議改源碼,但自己練練手,熟悉一下activiti6 ,還不用麻煩的配置,很 nice!



作者:愛情紳士
鏈接:https://www.jianshu.com/p/9b1dbb2c85e7
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章