zoukankan      html  css  js  c++  java
  • 创建ProcessEngine

    activiti流程引擎是通过activiti.cfg.xml文件配置的(这并不符合Spring构建流程引擎的编码风格)。

    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine()

    这将在类路径中查找activiti.cfg.xml文件,并根据该文件中的配置构造一个引擎。

    activiti.cfg.xml文件示例:

    <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:mem:activiti;DB_CLOSE_DELAY=1000" />
        <property name="jdbcDriver" value="org.h2.Driver" />
        <property name="jdbcUsername" value="sa" />
        <property name="jdbcPassword" value="" />
    
        <property name="databaseSchemaUpdate" value="true" />
    
        <property name="asyncExecutorActivate" value="false" />
    
        <property name="mailServerHost" value="mail.my-corp.com" />
        <property name="mailServerPort" value="5025" />
      </bean>
    
    </beans>

    注意,配置XML实际上是一个Spring配置。

    ProcessEngineConfiguration对象也可以使用配置文件通过编程方式创建。还可以使用不同的bean id(例如,参见第3行)。

    ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
    ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource);
    ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource, String beanName);
    ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream);
    ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream, String beanName);

    如果没有指定配置文件,则使用默认的activiti.cfg.xml文件。

    通过ProcessEngineConfiguration创建ProcessEngine 

    ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration()
      .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE)
      .setJdbcUrl("jdbc:h2:mem:my-own-db;DB_CLOSE_DELAY=1000")
      .setAsyncExecutorActivate(false)
      .buildProcessEngine();

    ProcessEngineConfiguration bean

    activiti.cfg.xml配置文件一定要包含id为processEngineConfiguration的配置Bean

     <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

    这个bean用来构造ProcessEngine,可以用来配置processEngineConfiguration的类有多个。这些类代表了不同场景的使用情况,且都设置了一些默认值。在使用时选择最匹配使用场景的类来构造processEngineConfiguration。目前可用的类有:

    • org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration:流程引擎以独立方式使用。Activiti将负责事务。默认情况下,只有在引擎启动时才会检查数据库(如果没有Activiti数据库或数据库版本不正确,则会引发异常)。

    • org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration:这是一个用于单元测试的便利类。Activiti将负责事务。H2内存数据库默认使用。数据库将在引擎启动时创建,关闭时删除。使用这个时,可能不需要额外的配置(除了使用例如作业执行程序或邮件功能时)。

    • org.activiti.spring.SpringProcessEngineConfiguration:在Spring环境中使用流程引擎时使用。有关更多信息,请参阅Spring集成部分

    • org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration:在引擎以独立模式运行时使用JTA事务。

  • 相关阅读:
    Linux ACL 权限之进阶篇
    Linux umask
    Linux 特殊权限 SUID,SGID,SBIT
    隔离 docker 容器中的用户
    理解 docker 容器中的 uid 和 gid
    Linux ugo 权限
    Dockerfile 中的 COPY 与 ADD 命令
    2013年全年总结
    参加2013中国大数据技术大会(BDTC2013)
    读书笔记2013第18本:《像外行一样思考,像专家一样实践》
  • 原文地址:https://www.cnblogs.com/jimboi/p/8468522.html
Copyright © 2011-2022 走看看