Activiti Configuring 和 deploying

本文探讨了Activiti流程引擎的两种部署模式:嵌入式与单独部署,并阐述了它们各自的应用场景。通过Servlet监听器和Spring框架,介绍了如何在应用中初始化和配置Activiti。此外,还涉及了任务和历史数据的配置细节,以及如何通过RestService进行交互。

嵌入式部署

在Servelet的listener里构建ProcessEngine

单独部署

Rest接口

两种模式应用场景:

多个应用同时需要使用流程系统,用单独部署;

需要定制化的流程系统,用嵌入式。

监听器来初始化流程引擎

<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>/WEB-INF/activiti-context.xml</param-value>
</context-param>

<listener>  
    <listener-class>    org.springframework.web.context.ContextLoaderListener      
    </listener-class>
</listener>

Spring监听器初始化Activiti

Rest Service

Spring初始化Activiti

在Listener里面初始化Activiti

Spring中,Activiti的配置

public class ErrorServiceTask implements JavaDelegate {
 @Override
 public void execute(DelegateExecution execution) throws Exception {
 if(execution.hasVariable("throwError") &&
 Boolean.valueOf(execution.getVariable("throwError").toString()
 throw new IllegalArgumentException("Rollback!!");
 }
 }
}

结合Transactional和Activiti

<property name="jobExecutorActivate" value="false" />

任务相关的配置

<property name="history" value="audit" />
 
历史数据相关配置
Rest Service
Rest Service
 
### 核心开发团队与维护情况 Activiti5的核心开发团队是Tijs Rademakers团队,其代码在github上已经4年没有更新,官方停止维护发展,新开发项目不建议选择。而关于Activiti7核心开发团队未在给定引用中提及,但它作为相对较新的版本,应该有持续的维护更新以适应新的需求 [^1]。 ### 基于标准与功能方面 Activiti5、Activiti7都是基于BPMN 2.0(Business Process Model and Notation,业务流程建模与标记)标准的开源工作流引擎,在功能上它们都具备工作流引擎的基本功能,但Activiti7应该在功能上有所改进扩展,以满足现代业务流程管理的需求,不过具体的功能差异引用中未详细说明 [^2]。 ### 数据库操作配置方面 引用中给出了Activiti在数据库操作配置上的几种选项,虽然未明确是Activiti5还是Activiti7,但可以推测两者在数据库操作的配置选项上可能有相似性。例如有以下几种配置: - `false`:默认值,启动时会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常,适用于生产环境。 - `true`:会对数据库中所有表进行更新操作,如果表不存在,则自动创建,适用于开发时。 - `create_drop`:在启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表),适用于单元测试。 - `drop-create`:在启动时删除原来的旧表,然后创建新表(不需要手动关闭引擎) [^3]。 以下是一个简单的Spring整合Activiti测试代码示例(虽然未明确是Activiti5还是Activiti7,但可作为参考): ```java import org.activiti.engine.RepositoryService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:activiti-spring.xml") public class ActivitiTest { @Autowired private RepositoryService repositoryService; @Test public void test01(){ System.out.println("部署对象:"+repositoryService); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值