activiti实战--第二章--搭建activiti开发环境及简单示例

山河永慕 山河永慕     2022-10-14     461

关键词:

(一)搭建开发环境

学习资料:《Activiti实战》

 

第一章 认识Activiti

2.1 下载Activiti

官网:http://activiti.org/download.html

入下载页后,可以看到最新版本的压缩包、快速入门、用户手册、javadoc等。我下载的时候,最新版本是activiti-5.22.0.zip

 

目录结构:

 

database:

包含了activiti表的创建、删除及版本升级三种类型的脚本。

创建和删除脚本的命名规则:activiti.[oracle|postgres|db2|mssql|mysql|h2|hsql].[create|drop].[identity|engine|history].sql

版本升级脚本的命名规则:activiti.oracle.upgradestep.[5x].to.[5(x+1)].history

 

docs:

包含了javadocs、用户手册和xsd。用户手册包含了环境配置,十分钟快速入门,各模块使用教程。xsd中包含与流程定义相关的scheme。

 

libs:略。

war:略。

 

2.2 环境配置

jdk、maven、intellij。

 

2.3 配置文件介绍

2.3.1 activiti.cfg.xml

(1)processEngineConfiguration

activiti可以单独使用,也可以与spring集成,所以配置文件有所区别。

单独模式:

与spring集成:

 

 (2)database

activiti支持的数据库类型:

 

不论是单独模式,还是与spring集成,database都可以有如下配置方式。

jdbc方式(spring集成时也类似,不再重复)

 

 

dataSource方式(spring集成时也类似,不再重复):

2.3.2 pom.xml

如果不与spring集成,只需要activiti-engine。

如果需要与spring集成,需要加上activiti-spring。其中spring的配置此处略。

如果需要使用activiti的modeler,需要加上activiti-modeler。

<!-- activiti -->
    <dependency>  
      <groupId>org.activiti</groupId>  
      <artifactId>activiti-engine</artifactId>  
      <version>${activiti.version}</version>  
    </dependency>
    
    <!-- activiti+spring -->
    <dependency>
          <groupId>org.activiti</groupId>
          <artifactId>activiti-spring</artifactId>
          <version>${activiti.version}</version>  
      </dependency>
    
    <!-- activiti-modeler -->
    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-modeler</artifactId>
            <version>${activiti.version}</version>
    </dependency>

2.4 完整的配置文件示例

(1)单独模式 activiti.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="jdbcUrl" value="jdbc:h2:file:~/activiti-in-action-chapter7;AUTO_SERVER=TRUE" />
        <property name="jdbcDriver" value="org.h2.Driver" />
        <property name="jdbcUsername" value="sa" />
        <property name="jdbcPassword" value="" />

        <property name="databaseSchemaUpdate" value="true" />
        <property name="jobExecutorActivate" value="false" />
    </bean>
</beans>

补充下mysql的

    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti" />
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="123456" />

 

(2)与spring集成 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd
                         http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-3.1.xsd
                           http://www.springframework.org/schema/tx      http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
    <!-- spring其他的配置略 -->

    <!-- 数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
        <property name="driverClass" value="org.h2.Driver" />
        <property name="url" value="jdbc:h2:file:~/activiti-in-action-chapter7;AUTO_SERVER=TRUE" />
        <property name="username" value="sa" />
        <property name="password" value="" />
    </bean>

    <!-- Activiti引擎配置 -->
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
        <property name="processEngineName" value="spring"></property>
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="databaseSchemaUpdate" value="true" />
        <property name="jobExecutorActivate" value="false" />
        <property name="deploymentResources" value="classpath*:/chapter7/leave.zip"></property>
    </bean>

    <!-- Activiti引擎工厂 -->
    <bean id="processEngineFactory" class="org.activiti.spring.ProcessEngineFactoryBean">
        <property name="processEngineConfiguration" ref="processEngineConfiguration" />
    </bean>

    <!-- Activiti的Service -->
    <bean id="repositoryService" factory-bean="processEngineFactory" factory-method="getRepositoryService" />
    <bean id="runtimeService" factory-bean="processEngineFactory" factory-method="getRuntimeService" />
    <bean id="formService" factory-bean="processEngineFactory" factory-method="getFormService" />
    <bean id="identityService" factory-bean="processEngineFactory" factory-method="getIdentityService" />
    <bean id="taskService" factory-bean="processEngineFactory" factory-method="getTaskService" />
    <bean id="historyService" factory-bean="processEngineFactory" factory-method="getHistoryService" />
    <bean id="managementService" factory-bean="processEngineFactory" factory-method="getManagementService" />

</beans>

 

kafka消息队列大数据实战教程-第二篇(kafka集群搭建)

文章目录前言一、准备工作二、安装Zookeeper集群2.1.下载2.2解压2.3配置环境变量2.4修改conf文件夹配置2.5创建data、log文件夹2.6启动三、安装Kafka集群3.1.下载3.2解压3.3创建存储kafka数据地址3.4修改配置文件3.5启动3.6测试四、启动脚本4... 查看详情

kafka消息队列大数据实战教程-第二篇(kafka集群搭建)

文章目录前言一、准备工作二、安装Zookeeper集群2.1.下载2.2解压2.3配置环境变量2.4修改conf文件夹配置2.5创建data、log文件夹2.6启动三、安装Kafka集群3.1.下载3.2解压3.3创建存储kafka数据地址3.4修改配置文件3.5启动3.6测试四、启动脚本4... 查看详情

kafka消息队列大数据实战教程-第二篇(kafka集群搭建)

文章目录前言一、准备工作二、安装Zookeeper集群2.1.下载2.2解压2.3配置环境变量2.4修改conf文件夹配置2.5创建data、log文件夹2.6启动三、安装Kafka集群3.1.下载3.2解压3.3创建存储kafka数据地址3.4修改配置文件3.5启动3.6测试四、启动脚本4... 查看详情

rollup实战第二节搭建开发环境(代码片段)

引言在上一篇博客中,我简单的描述了rollup怎么使用,配置文件的使用。这一篇,来一起学习一下rollup怎么搭建开发服务,这里不包含任何的框架代码,我们需要实现的是,我在代码中修改任何地方,r... 查看详情

以太坊dapp开发实战基础

...知识Windows搭建以太坊Mac平台搭建以太坊控制台模拟转账第二章、智能合约开发篇:Remix开发智能合约智能合约部署和使用第三章、以太坊开发框架Truffle:开发框架Truffle介绍Truffle安装部署和测试第四章、Web3.js开发篇:... 查看详情

疯狂讲义activiti6.x工作流进阶与项目实战,activiti整合drools

01Activiti介绍与搭建开发环境 02运行官方例子03编写第一个Activiti程序 04流程引擎配置与服务组件05Activiti数据库介绍06API(1)Activiti数据查询07API(2)流程文件部署08API(3)流程定义09API(4)任务操作10API(5)任务参数与附... 查看详情

打算时第二个活动元素没有变化

...个活动元素没有变化【英文标题】:Thereisnochangetothesecondactivityelementwhenintending【发布时间】:2020-07-3120:22:10【问题描述】:我使用Kotlin制作了一个简单的应用程序。我想换页。我创建了一个新的Activity并从MainActivity中调用它。当... 查看详情

activiti进阶02:activiti组任务实战

Activiti进阶更多Java从0-1的笔记均在专栏中~ 查看详情

安卓activity生命周期

相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程。1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2.当前Activity... 查看详情

2017.2.20activiti实战--第一章--认识activiti

学习资料:《Activiti实战》 第一章认识Activiti内容概览:讲解activiti的特点、接口概览、架构等基本信息。1.3Activiti的特点1.使用mybatis2.原生支持spring,可以轻松集成spring3.引擎的Service接口Activiti引擎提供了7大Service接口,均通... 查看详情

activiti工程环境搭建和流程图创建

当一个业务需要的多个参与者来参与执行的时候,如果我们要自己编程的话,我们需要对业务非常的熟悉,并且在编程的时候要做一系列复杂的判断,如果出现第一种情况,我们要怎么办,如果出现第二种情况,我们又该怎么办... 查看详情

activity生命周期(深入理解)

今天看到一篇大神总结Activity的文章,内容甚为详细,特此转载http://www.cnblogs.com/lwbqqyumidi/p/3769113.htmlAndroid官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity... 查看详情

activiti进阶02:流程变量实战

Activiti进阶更多Java从0-1的笔记均在专栏中~ 查看详情

Activiti Tomcat 配置

】ActivitiTomcat配置【英文标题】:ActivitiTomcatconfiguration【发布时间】:2018-02-0516:40:11【问题描述】:为了部署我的项目activi,我将.jar文件复制到webapps\\activiti-explorer\\WEB-INF\\lib。但是当我重新启动Tomcat时,activiti-explorer会重置,所... 查看详情

2017.2.21activiti实战--第七章--activiti与容器集成

学习资料:《Activiti实战》 第七章Activiti与容器集成本章讲解activiti-spring可以做的事情,如何与现有系统集成,包含bean的注入、统一事务管理等。7.1流程引擎工厂7.1.1ProcessEngine创建processEngine的方法有三种:1通过配置文件2测... 查看详情

javalangnoclassdeffounderrororg/activiti/bpmn/model/star

1、错误描述 java.lang.NoClassDefFoundError:org/activiti/bpmn/model/StartEvent atorg.activiti.image.impl.DefaultProcessDiagramGenerator.<init>(DefaultProcessDiagramGenerator.java:90) atorg.activi 查看详情

activiti搭建

Activiti搭建1,导入activiti包文件(非常悲剧...没有找到activiti的maven依赖T_T)拉了一堆activiti的包......2、eclipse安装activiti-designer插件     打开eclipse软件,然后点击菜单栏的help选项,选择installNewSoftware,示例如下:... 查看详情

app开发实战179-activity消息路由

12.2Activity消息路由在Android开发中,常遇到多个Activity间的相互通信和调用,这样会导致Acticity间的横向依赖。Activity间的相互通信和调用主要是通过调用startActivity()函数实现的,使用startActivity()的缺点是需要被通知或调用的那个Ac... 查看详情