`
bonait
  • 浏览: 3015 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

工作流activiti技术的研究和学习记录第一天

阅读更多
activiti需要的环境:

1)   JDK1.6或者更高版本

2)   支持的数据库有:h2, mysql, oracle, postgres, mssql, db2等。

3)   支持activiti5运行的jar包

4)   开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

activiti可以到Activiti官方网站下载得到

http://activiti.org/download.html

http://zipin168.com

安装流程设计器(eclipse插件)

安装方式一(安装步骤流程请看附件)

1)             打开 Help -> Install New Software. 在如下面板中:



2)                     在如下Install界面板中,点击Add按钮:



            配置新装插件的地址和名称



3)             然后填入下列字段

Name: Activiti BPMN 2.0 designer

Location: http://activiti.org/designer/update/



4)             回到Install界面,在面板正中列表中把所有展示出来的项目都勾上:



5)             点击复选框

在Detail部分记得选中 "Contact all updates sites.." , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载.



6)             安装完以后,点击新建工程new->Other…打开面板,如果看到下图内容:



           说明安装成功了。

准备Activiti5开发环境

添加Activiti5的jar包:

在activiti-5.13->wars目录下是一些示例项目,解压activiti-rest项目,导入activiti-rest目录中WEB-INF\lib下所有包。添加到classpath中。



由于我们使用的是Mysql数据库,Mysql数据库的链接驱动Activiti官方包中并没有提供,需要我们自己导入。手动导入mysql-connector-java.jar,添加到classpath

初始化数据库

/**使用代码创建工作流需要的23张表*/
@Test
public void createTable(){
  ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
  //连接数据库的配置
  processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
  processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcastactiviti?useUnicode=true&characterEncoding=utf8");
  processEngineConfiguration.setJdbcUsername("root");
  processEngineConfiguration.setJdbcPassword("root");
  /**
    public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
     public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
     public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表
   */
  processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
  //工作流的核心对象,ProcessEnginee对象
  ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
  System.out.println("processEngine:"+processEngine);
}
在Activiti中,在创建核心的流程引擎对象时会自动建表。如果程序正常执行,mysql会自动建库,然后创建23张表

添加并制定配置文件
在Actiiti5中定制流程必定会操作到数据库,如果都像上面那样写一大段代码会非常麻烦,所以我们可以把数据库连接配置写入配置文件。
在Activiti5的官方示例中并没有现成的配置文件,所以先得找到activiti-rest\WEB-INF\classes下有:
activiti-context.xml
一个类似spring结构的配置文件,清空内容后改名为activiti.cfg.xml,用来做流程引擎的相关配置。
按照上面代码配置ProcessEngineConfiguration对象,主要定义数据库的连接配置和建表策略,配置文件代码如下:
<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-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <!-- 配置外部数据库连接信息-->
<!-- <context:property-placeholder location="classpath:db.properties"/> -->
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql:///itcastactiviti?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf8" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="root" />
<!-- 建表策略 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans>

Java代码如下:
@Test
public void createTable_2(){
// ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// //工作流的核心对象,ProcessEnginee对象
// ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}

createProcessEngineConfigurationFromResource的参数值为我们添加的配置文件activiti.cfg.xml的名称,执行java代码,流程引擎对象创建成功运行后数据库会自动建表。
  • 大小: 75.4 KB
  • 大小: 53.7 KB
  • 大小: 14.8 KB
  • 大小: 79.8 KB
  • 大小: 35.5 KB
分享到:
评论

相关推荐

    activiti 第一天 共4天 视频教程

    这个“activiti 第一天 共4天 视频教程”显然是一个全面介绍Activiti的基础到进阶的学习资源,旨在帮助初学者快速理解和掌握这一强大的工具。 在第一天的课程中,通常会涵盖以下几个关键知识点: 1. **Activiti...

    activiti-学习第一天

    简而言之,工作流是一种确保业务流程高效、有序执行的技术手段。 工作流管理系统(Workflow Management System, WfMS)是一个软件系统,负责定义和管理工作流,并根据预定义的工作流逻辑来执行具体的业务流程。需要...

    Activiti第三天

    在第一天的学习中,你可能已经了解了Activiti的基本架构和历史背景,现在是时候深化理解了。 二、BPMN 2.0标准 BPMN是一种图形化的语言,用于描述和设计业务流程。在第三天,你需要掌握BPMN中的各种元素,如任务...

    传智播客 activiti 视频资料 第1天 共4天

    在第一天的学习中,我们还会涉及Activiti的流程历史记录和审计功能,这对于分析流程执行情况和进行性能优化是非常有用的。我们将学习如何查询历史流程实例、任务实例以及变量,以便进行流程审计和性能分析。 最后,...

    activiti第一天2_1

    总之,“activiti第一天2_1”是学习Activiti旅程的开端,通过这个阶段的学习,我们将建立起对Activiti基本概念和操作的扎实基础,为接下来更深入的探索做好准备。在这个五天的学习过程中,你将逐步成长为一名熟练的...

    activiti第一天1_2

    本教程“activiti第一天1_2”是针对初学者设计的一个五天学习计划,旨在确保你在短短几天内能够掌握Activiti的核心概念和技术。 在第一天的第二个阶段,我们将会深入探讨以下几个关键知识点: 1. **Activiti简介**...

    activiti 第3天 共4天 视频教程

    Activiti 是一个开源的工作流引擎,它主要用于设计、部署和执行业务流程。这个"activiti 第3天 共4天 视频教程"很...通过完整的四天学习,开发者应该能对Activiti有全面的认识,并具备独立设计和实施工作流项目的能力。

    传智播客 activiti 视频资料 第3天 共4天

    在Activiti的学习中,第一天可能介绍了基础概念,如BPMN(Business Process Model and Notation)标准,它是流程图的国际标准,用于描述业务流程。同时,可能会讲解Activiti的架构和安装步骤,包括如何在开发环境中...

    activiti第四天

    在本篇"activiti第四天"的工作流学习中,我们主要涵盖了从设计实体到审批处理的整个流程。Activiti是一个开源的工作流引擎,它帮助企业实现业务流程自动化。以下是详细的知识点解析: 1. **设计申请实体和审批实体*...

    Activiti课程笔记从入门到实践.doc

    在第一天的学习中,首先了解了工作流的基本概念。工作流是指在计算机环境中自动化执行的业务过程,通常涉及多个参与者和预定义的规则。工作流管理系统(WfMS)是一个软件平台,它定义、管理和执行工作流程,目的是...

    Activiti2.1.zip

    在"Activiti第一天知识点回顾"中,我们将深入探讨Activiti的核心概念、主要功能以及如何利用它来构建和管理业务流程。 1. **Activiti核心概念** - **流程定义(Process Definition)**:流程定义是描述业务流程的...

    MLDN E-Learning项目之一

    这一部分可能涉及到Spring的工作流引擎,如Activiti,用于处理审批流程的自动化。 综上所述,MLDN E-Learning项目利用了Struts、Spring和Hibernate等主流Java技术,构建了一个功能丰富的在线学习平台。每个模块都...

    基于Android的学生电子假条管理平台.pdf

    文中提到系统采用了springboot框架与mybatis持久层框架,以及Activiti流程引擎来实现请假工作流。请假流程根据请假天数的不同设置了不同的审批路径。例如,三天以内的请假由班主任批准,而超过三天则需要经过班主任...

Global site tag (gtag.js) - Google Analytics