当前位置: 首页 > news >正文

山西建设集团网站公司网站制作天强科技

山西建设集团网站,公司网站制作天强科技,wordpress自建全屏页面,广西区建设厅网站Activiti是一个轻量级的工作流程和业务流程管理(BPM)平台,它主要面向业务人员、开发人员和系统管理员。这个平台的核心是一个快速且可靠的Java BPMN 2流程引擎。Activiti是开源的,并且基于Apache许可证进行分发。它可以运行在任何…

Activiti是一个轻量级的工作流程和业务流程管理(BPM)平台,它主要面向业务人员、开发人员和系统管理员。这个平台的核心是一个快速且可靠的Java BPMN 2流程引擎。Activiti是开源的,并且基于Apache许可证进行分发。它可以运行在任何Java应用程序、服务器、集群或云环境中,并且与Spring框架完美集成,以其轻量级和基于简单概念的特点而闻名

Activiti在中国市场的情况

Activiti的工作流引擎功能包括流程定义与建模、流程执行与管理、集成与扩展等。它适用于各行各业的业务流程自动化,包括消费品行业、制造业、电信服务业、金融服务业、物流服务业、政府事业机构等。Activiti的工作流引擎可用于构建各种类型的工作流,如审批流程、业务流程等,通过定义清晰的流程和任务分配规则,企业可以提高工作效率,减少人为错误,并实现流程的自动化。由于activiti发展比较早,在国内各种新老系统都有广泛应用。

如果您是一名新手,该如何快速将Activiti工作流用于自己的业务开发? 我们推荐使用JeecgFlow,这套技术脚手架将帮您快速提高效率。接下来,本文将通过JeecgBoot如何集成Activiti工作流进行阐述,助力您自己动手实现一些简单的Demo!

环境介绍

项目版本
JeecgBoot3.6.1
Activiti7.0.0.Beat2
jdk1.8

JeecgBoot新增activiti模块

首先,我们要新建一个模块,命名成:jeecg-module-activiti, 与现有的命名方式保持一致。在这个模块去做activiti工作流相关的业务。

1.在项目中,点击右键,选择module

在这里插入图片描述

添加图片注释,不超过 140 字(可选)

2.直接进入创建模块,不要选择任何依赖。

在这里插入图片描述

添加图片注释,不超过 140 字(可选)

3.完成模块命令,写入jeecg-module-activiti

在这里插入图片描述

添加图片注释,不超过 140 字(可选)

<dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-boot-base-core</artifactId>
</dependency>

并在该模块下加入上述依赖。 这个是jeecg的核心模块,也是一个公共模块。

4.在jeecg-boot-module-system的start模块的pom.xml引入新增的activit模块

    <dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-module-activiti</artifactId><version>${jeecgboot.version}</version></dependency>

5.swagger配置

在swagger配置新模块的swagger扫描bean.找到Swagger2Config。追加如下Bean配置。

@Bean
public Docket loanApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("会员模块").select()//此包路径下的类,才生成接口文档.apis(RequestHandlerSelectors.basePackage("org.jeecg.crm"))//加了ApiOperation注解的类,才生成接口文档.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build().securitySchemes(Collections.singletonList(securityScheme()));//.globalOperationParameters(setHeaderToken());
}

6.mybatis-plus配置

mybatis-plus在application.yml中的配置.

mybatis-plus:mapper-locations: classpath*:classpath*:org/jeecg/activiti/**/xml/*Mapper.
  • mybatis-plus配置类的配置.MybatisPlusSaasConfig配置mapper文件扫描路径
@Configuration
@MapperScan(value={"org.jeecg.modules.**.mapper*","org.jeecg.activiti.**.mapper*"})
public class MybatisPlusSaasConfig {
}

完成以上配置, 你可以往这个模块建表。到这也就完成第一步。模块建立。 接下来说明下如何完善activiti模块的依赖和配置。

Activiti模块的安装和配置

项目父pom.xml中新增activiti的依赖

<dependencyManagement><dependencies><!--以下是所需的依赖文件--><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter</artifactId><version>7.0.0.Beta2</version><exclusions><exclusion><!-- 重点坑,不排除mybatis的话,在启动项目时会报错mybatisplus缺少类   --><artifactId>mybatis</artifactId><groupId>org.mybatis</groupId></exclusion></exclusions></dependency></dependencies>
</dependencyManagement>

jeecg-module-activit模块的依赖

<dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter</artifactId><exclusions><exclusion><!-- 重点坑,不排除mybatis的话,在启动项目时会报错mybatisplus缺少类   --><artifactId>mybatis</artifactId><groupId>org.mybatis</groupId></exclusion></exclusions>
</dependency>

注意啦!需要将这个模块在jeecg-module-system/jeecg-system-start模块的pom.xml新增,如下

<dependencies><!-- SYSTEM 系统管理模块 --><dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-system-biz</artifactId><version>${jeecgboot.version}</version></dependency><!-- Activiti模块 --><dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-module-activti</artifactId><version>${jeecgboot.version}</version></dependency><!-- DEMO 示例模块 --><dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-module-demo</artifactId><version>${jeecgboot.version}</version></dependency><!-- flyway 数据库自动升级 --><dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId></dependency>
</dependencies>

application.yml配置

spring:activiti:#1.flase:默认值。activiti在启动时,对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常#2.true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建#3.create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)#4.drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)database-schema-update: true# 检测历史信息表是否存在,activiti7默认不生成历史信息表,开启历史表db-history-used: true# 历史记录存储等级history-level: fullcheck-process-definitions: true

mysql配置->nullCatalogMeansCurrent=true

url: jdbc:mysql://rxxx/jeecg-camunda?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
//需要在尾部追加nullCatalogMeansCurrent=true
//如果不追加, 可能会出现cause: java.sql.SQLSyntaxErrorException: 
Table 'jeecg-camunda.act_ge_property' doesn't exist

Activiti7 中自带的 Security 安全框架排除掉(因为我这里使用的是 Shiro 安全框架,Security 就没什么用处了)

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class,SecurityAutoConfiguration.class,ManagementWebSecurityAutoConfiguration.class})
public class OAApplication
{public static void main(String[] args){SpringApplication.run(OAApplication.class, args);System.out.println("启动成功~");}
}上面排除 Security 安全框架的操作对于 Activiti 7.1.0.M6 这个版本是没用的,
因为这个版本的代码强引用了 SpringSecurity 里的内容,
比如在 Activiti 的 SpringBoot 配置类中,强引用 UserDetailsService,
没有这个就会报错,所以我们还需要把版本降到7.1.0.M4及以下。

代码编写

@ApiOperation(value = "启动流程", notes = "启动流程")
@PostMapping("/start")
public Result<?> start(@RequestBody LeaveReq leaveReq) {log.info("start.leaveReq:{}" + Thread.currentThread().getId());LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();//启动流程&&并设置启动人Authentication.setAuthenticatedUserId(loginUser.getUsername());Map<String, Object> variables = new HashMap<>(4);variables.put("general", loginUser.getUsername());variables.put("guide", "诸葛亮");variables.put("leader", "刘备");ProcessInstance processInstance =     runtimeService.startProcessInstanceByKey(leaveReq.getModelKey(), variables);}

综上就是一个Activiti工作流在JeecgBoot开源项目中集成并且简易运行的案例, 更多详情,请访问JeecgFlow

http://www.15wanjia.com/news/177854.html

相关文章:

  • 无锡网站建设外包优势在哪里能找到做网站的人
  • 给别人建设网站的注意事项seo如何快速排名
  • 怎样做旅游城市住宿网站想注册一个设计网站吗
  • 建立网站 营业执照电子公章印章在线制作网站
  • 做网站排版做物流公司网站哪家好
  • 做外贸现在一般都通过哪些网站seo搜索引擎优化哪家好
  • 手机端网站建站流程服务器查询
  • 公司网站建设的目的和意义博物馆网站制作
  • 为什么网站 关键词策划电子商务网站推广
  • 网站域名权营销策划的十个步骤
  • 网站分类有哪些学设计的个人网页设计作品欣赏
  • 幸福人寿保险公司官方网站保单查询网站都要备案吗
  • 网站建设硬件预算赤峰浩诚网站建设有限公司
  • 枣庄网站开发公司贵港网站建设动态
  • 虚拟主机手机网站wordpress文章美观
  • 中国建设银行网站 个人做外贸做的很好的网站
  • 电子科技技术支持东莞网站建设网站建设文化怎么样
  • ssh小型购物网站开发广西城市建设学校学生网站
  • 邢台做网站建设优化制作公司金信建设一个商城网站
  • 凡科自助建站系统app嵌入手机网站
  • 网站建设开发人员配置中国宣布入境最新消息2023
  • 网站开发浏览器兼容适合网站开发的python
  • 21天网站建设实录长虹电视网站建设中
  • 沧浪企业建设网站公司数商云网络科技
  • 做服装设计有什么网站可以参考自己申请一个网站怎么做
  • 广州 350建网站嘉兴建站服务
  • react 手机网站开发网站排名突然掉了怎么回事
  • 做游戏出租的网站好找人做网站毕业设计
  • 大连新图闻网站设计seo在线培训机构
  • 免费数据分析网站新准则中公司网站建设费用计入什么科目