Hello Activiti 创建工作流的三种方式

   最近项目中用到些流程相关的内容,当时也不知道工作流这么高大上的东西,就完全手写逻辑,按照客户的要求硬生生的写,做起来也是各种费劲,好不容易写完了。客户说,哎呀这个不好,要改,改的还老复杂了,我的天,想提着刀弄死客户的心都有了,一改再改。后来听说activiti工作流,做流程比较简单,怀着崇敬的心情开始学习工作流了。万事开头难,刚开始接触会觉得一头雾水的,多学多练,相信一定会弄懂activiti的。

  这是一个简单的小例子,牵涉的内容不多,一个普通的maven工程,里面有四个文件

  1、关于activiti 的依赖,配置在pom.xml中,当然完全可以直接使用activiti官方例子中lib下的jar包

  2、默认的activiti 配置文件activiti.cfg.xml ,注意名字一定要和这个一模一样。不一样也行,就是需要指定。

  3、日志的相关配置 log4j.properties 里面没啥配置,复制过来就行了

  4、测试文件,关于创建activiti 工作流的三种方式

   首先新建一个普通的maven工程,并将pom.xml 和 activiti.cfg.xml 以及log4j.properties放到指定目录下就可以了,它们不是重点,拿过来直接用就行了。

三种方式代码如下

方式1,这种方式必须有activiti.cfg.xml  文件名必须是这个,推荐使用这种方式


    /**通过默认 activiti.cfg.xml 方式获取*/
    @Test
    public void getProcessEngineByDefault(){
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        System.out.println("getProcessEngineByDefault:" + processEngine);
        processEngine.close();
    }


activiti.cfg.xml 文件内容如下





  
    
    
    
    
    
  


方式2 ,也是将配置放到配置文件中,文件名可以随意写,这里就直接使用默认的了,内容和上面一样


    /**通过指定 activiti.cfg.xml 方式获取*/
    @Test
    public void getProcessEngineByXmlConfig(){
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println("getProcessEngineByXmlConfig:" + processEngine);
        processEngine.close();
    }

方式3,直接在java代码中配置,这种不灵活,不建议使用,以上两种都可以,最简单的还是方式1


    /**通过配置Java类 方式获取*/
    @Test
    public void getProcessEngineByJavaConfig(){
        //获取config对象
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
                .createStandaloneProcessEngineConfiguration();
        //Jdbc设置
        String jdbcDriver = "com.mysql.jdbc.Driver";
        String jdbcUrl = "jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf-8";
        String jdbcUsername = "root";
        String jdbcPassword = "123456";
        processEngineConfiguration.setJdbcDriver(jdbcDriver);
        processEngineConfiguration.setJdbcUrl(jdbcUrl);
        processEngineConfiguration.setJdbcUsername(jdbcUsername);
        processEngineConfiguration.setJdbcPassword(jdbcPassword);
        processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        //获取引擎对象
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println("getProcessEngineByJavaConfig:" + processEngine);
        processEngine.close();
    }

通过上面三种方式,都可以获取到activiti工作流引擎,在没有数据库表的情况下,会自动创建工作流使用的23张表


Hello Activiti 创建工作流的三种方式_第1张图片


这是个最简单的例子,也是开始认识工作流的开始,需要这个工程的话,我后续会提供下载链接。太晚了,睡觉,明天、后天还得苦逼的加班,连双休都得住公司了。



你可能感兴趣的:(activiti,activiti,创建activiti,工作流引擎)