Activity-(三)创建流程引擎ProcessEngine

1、创建并设置Maven 项目

创建一个$quickStartJavaProjectName具有以下Maven依赖项的Java项目“ plush-activiti”(以后称为):

文件:$ mvnProject / pom.xml


        UTF-8
        1.8
        1.8
    

    
        
            junit
            junit
            4.12
            test
        

        
        
            com.alibaba
            druid
            1.1.12
        

        
        
            mysql
            mysql-connector-java
            5.1.30
        

        
        
            org.projectlombok
            lombok
            1.16.12
        

        
        
            ch.qos.logback
            logback-core
            1.1.8
        
        
            ch.qos.logback
            logback-classic
            1.1.8
        
        
            org.slf4j
            slf4j-api
            1.7.22
        

        
            org.activiti
            activiti-engine
            5.22.0
        
    

    
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        1.8
                        1.8
                    
                
            
        
    

请注意以下依赖性:

  • Activiti(org.activiti)– Activiti的BPM引擎
  • 数据库(mysql)– mysql数据库
  • 日志记录(org.slf4j)– Java的简单日志记录外观

当引用构建目录时,假定您的maven项目的标准Maven构建路径:

路径 描述
$mvnProject/ src / main / java Java源目录
$mvnProject/ src / main / resources 资源目录
$mvnProject/ src / test / java Java测试目录
$mvnProject/ src / test / resources 资源测试目录

您应该能够构建空白项目。在继续之前,请确保总体状态为“ BUILD SUCCESS”。


命令:mvn编译

基本路径:$ mvnProject

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building $quickStartJavaProjectName 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ plush-activiti ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ HelloProcess2 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.592s
[INFO] Finished at: Sun Nov 27 05:09:59 EST 2020
[INFO] Final Memory: 10M/309M
[INFO] -----------------------------

笔记:

  • 您的输出可能看起来有所不同。最值得注意的是,maven可能需要检索项目依赖项。

2、添加log4j 日志文件

两种配置内容(效果一致):

文件:$ mvnProject / src / main / resources / log4j.properties

第一种:

log4j.rootLogger=DEBUG, ACT

log4j.appender.ACT=org.apache.log4j.ConsoleAppender
log4j.appender.ACT.layout=org.apache.log4j.PatternLayout
log4j.appender.ACT.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n

第二种:




    
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
        
    


3、创建流程引起对象

用空白的main创建一个新的Java类。


文件:$ mvnProject / src / main / java / com / webcode/ activiti_create.java

3.1 添加到主入口点的是流程引擎的创建。如下所示添加到activiti_create.java中:

    public static void main(String[] args) { {
        // 创建流程引擎配置信息对象
        ProcessEngineConfiguration pec = ProcessEngineConfiguration
                .createStandaloneProcessEngineConfiguration();
        // 设置数据库的类型
        pec.setDatabaseType("mysql");
        // 设置创建数据库的方式
        pec.setDatabaseSchemaUpdate("true");
        // 设置数据库驱动
        pec.setJdbcDriver("com.mysql.jdbc.Driver");
        // 设置jdbcURL
        pec.setJdbcUrl("jdbc:mysql://49.234.197.103:3306/activiti-explorer?useUnicode=true&characterEncoding=UTF-8");
        // 设置用户名
        pec.setJdbcUsername("root");
        // 设置密码
        pec.setJdbcPassword("wushaopei");


        // 构建流程引擎对象
        ProcessEngine pe = pec.buildProcessEngine(); // 调用访方法才会创建数据表
        
        String pName = pe.getName();
        String ver = ProcessEngine.VERSION;
        System.out.println("ProcessEngine [" + pName + "] Version: [" + ver + "]");
        
        // 调用close方法时,才会删除
        pe.close();
    }

3.2 也可以通过 引入Activiti配置文件activiti.cfg.xml 的方式来创建流程引擎实例;

创建activiti.cfg.xml配置:



 
  
 
    
    
    
    
    
  
 

流程引擎创建实例代码:

     /**
	 * 使用xml配置 简化
	 */
	public static void main(String[] args) {{
	    // 引擎配置
	    ProcessEngineConfiguration pec=ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
	    // 获取流程引擎对象
	    ProcessEngine processEngine=pec.buildProcessEngine();
	    
	   
        String pName = processEngine.getName();
        String ver = ProcessEngine.VERSION;
        System.out.println("ProcessEngine [" + pName + "] Version: [" + ver + "]");
        
	}

注意:使用xml配置会简化很多东西,而且在正规情况下的项目都是使用这种读取.XMl配置文件的方式。

之前生成Activiti25张表是使用Java类生成的,但是在实际的开发中是使用activiti.cfg.xml配置文件生成。

官方文档参考地址:http://activiti.org/userguide/index.html#configuration (英文看不懂可以用谷歌浏览器翻译功能)

4、打包配置

文件:$ mvnProject / pom.xml


...
  
...
    
...
      
      
        org.apache.maven.plugins
        maven-assembly-plugin
        2.4.1
        
          
          
            jar-with-dependencies
          
          
          
            
              com.example.OnboardingRequest
            
          
        
        
          
            make-assembly
            
            package
            
              single
            
          
        
      
...
    
...
  
...

通过运行“ mvn package”来打包代码。

启动 .jar 包命令:

命令:java -jar target / ActivitiDeveloperQuickStart-0.0.1-SNAPSHOT-jar-with-dependencies.jar

-要么-

java -jar target / $ quickStartJavaProjectName-0.0.1-SNAPSHOT-jar-with-dependencies.jar

关注橘长的微信公众号,获取有趣文章

你可能感兴趣的:(Activiti工作流入门)