工作流—activiti7環境搭建


1. 什么是工作流

      工作流(Workflow),就是通過計算機對業務流程自動化執行管理。它主要解決的是“使在多個參與者  之間按照某種預定義

    的規則自動進行傳遞文檔、信息或任務的過程,從而實現某個預期的業務目標, 或者促使此目標的實現”。

2. 搭建activiti環境

  2.1 什么是activiti  

      Alfresco 軟件在 2010 年 5 月17 日宣布Activiti 業務流程管理(BPM)開源項目的正式啟動,其首席架構師由業務流程管理BPM

     的專家 Tom Baeyens 擔任,Tom Baeyens 就是原來 jbpm 的架構師,而 jbpm 是一個非常有名的工作流引擎,當然activiti 也是一個工作流引擎。

    Activiti 是一個工作流引擎, activiti 可以將業務系統中復雜的業務流程抽取出來,使用專門的建模語言(BPMN2.0)進行定義,

    業務系統按照預先定義的流程進行執行,實現了業務系統的業務 流程由activiti  進行管理,減少業務系統由於流程變更進行系統升

    級改造的工作量,從而提高系統的健壯性,同時也減少了系統開發維護成本。

  

  2.2  打開IDEA —> File —> Settings —> Plugins 

 

   

  選擇路徑將已經下載好的jar包選中       idea插件官網:https://plugins.jetbrains.com/

 

   選中后重啟 

 

 

  此時我們可以在新建中看到BpmmFile

 

 

  3. 創建bpmn文件制作流程控制圖

      

 

 4. 開發環境

  4.1 導入依賴  

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <slf4j.version>1.6.6</slf4j.version>
    <log4j.version>1.2.12</log4j.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-engine</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-spring</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-bpmn-model</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-bpmn-converter</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-json-converter</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

  <!--  <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-bpmn-layout</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>-->

    <dependency>
      <groupId>org.activiti.cloud</groupId>
      <artifactId>activiti-cloud-services-api</artifactId>
      <version>7.0.0.Beta1</version>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.40</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>

    <!-- log start -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <!-- log end -->

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.5</version>
    </dependency>

    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
    </dependency>
  </dependencies>

 

  4.2 創建Activiti配置文件 activiti.cfg.xml(提前創建好數據庫)

<!--數據源-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/activiti-y2170"/>
        <property name="username" value="root"/>
        <property name="password" value="123"/>
    </bean>

    <!--配置Activiti使用的processEngine對象   默認命名為processEngineConfiguration-->
    <bean id="processEngineConfiguration01" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <!--注入數據源-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置數據源方式二:-->
        <!--<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>-->

        <!--指定數據庫生成策略-->
        <property name="databaseSchemaUpdate" value="true"/>
    </bean>

  4.3 創建日志配置文件

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

 

  4.4 創建測試類加載配置文件

  public static void main(String[] args) {
        //加載配置
        ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
        //獲取ProcessEngine對象
        ProcessEngine processEngine = configuration.buildProcessEngine();
    }

  4.5 啟動項目后數據庫會新增25張表

        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM