- 浏览: 7348657 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
工作流模拟程序员面试过程情景如下:
1.开发知识面试或者笔试
2.人事面试
流程图:
流程配置:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test"> <process id="DeveloperWorkExam" name="DeveloperWorkExam"> <startEvent id="startevent1" name="准备面试"></startEvent> <endEvent id="endevent1" name="面试通过"></endEvent> <receiveTask id="receivetask1" name="笔试以及面试通过"> <extensionElements> <activiti:executionListener event="start" class="com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener"></activiti:executionListener> </extensionElements> </receiveTask> <receiveTask id="receivetask2" name="人事面试"> <extensionElements> <activiti:executionListener event="start" class="com.easyway.workflow.activiti.exam.HumanResourceExamListener"></activiti:executionListener> </extensionElements> </receiveTask> <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="receivetask1"></sequenceFlow> <sequenceFlow id="flow2" name="" sourceRef="receivetask1" targetRef="receivetask2"></sequenceFlow> <sequenceFlow id="flow3" name="" sourceRef="receivetask2" targetRef="endevent1"></sequenceFlow> <sequenceFlow id="flow4" name="" sourceRef="receivetask1" targetRef="endevent1"></sequenceFlow> </process> </definitions>
spring配置application-context-standalone.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- 创建数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="org.h2.Driver" /> <property name="url" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" /> <property name="username" value="sa" /> <property name="password" value="" /> </bean> <!-- 创建事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 创建流程引擎配置对象 --> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource" /> <property name="transactionManager" ref="transactionManager" /> <property name="databaseSchemaUpdate" value="true" /> <property name="mailServerHost" value="localhost" /> <property name="mailServerPort" value="5025" /> <property name="jpaHandleTransaction" value="true" /> <property name="jpaCloseEntityManager" value="true" /> <property name="jobExecutorActivate" value="false" /> </bean> <!-- 创建流程引擎对象--> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"> <property name="processEngineConfiguration" ref="processEngineConfiguration" /> </bean> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /> <bean id="formService" factory-bean="processEngine" factory-method="getFormService" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" /> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /> <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /> </beans>
application-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- 创建数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="org.h2.Driver" /> <property name="url" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" /> <property name="username" value="sa" /> <property name="password" value="" /> </bean> <!-- 创建事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 创建流程引擎配置对象 --> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource" /> <property name="transactionManager" ref="transactionManager" /> <property name="databaseSchemaUpdate" value="true" /> <property name="mailServerHost" value="localhost" /> <property name="mailServerPort" value="5025" /> <property name="jpaHandleTransaction" value="true" /> <property name="jpaCloseEntityManager" value="true" /> <property name="jobExecutorActivate" value="false" /> <!-- 使用spring的自动资源加载部署方式部署 --> <property name="deploymentResources" value="classpath*:diagrams/*.bpmn20.xml" /> </bean> <!-- 创建流程引擎对象--> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"> <property name="processEngineConfiguration" ref="processEngineConfiguration" /> </bean> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /> <bean id="formService" factory-bean="processEngine" factory-method="getFormService" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" /> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /> <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /> </beans>
代码实现:
/** package com.easyway.workflow.activiti.exam; import java.util.Map; /** * * 工作流中配置如下: * <receiveTask id="receivetask1" name="笔试以及面试通过"> <extensionElements> <activiti:executionListener event="start" class="com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener"/> </extensionElements> </receiveTask> * @author longgangbai * * 2011-12-18 上午12:38:24 */ public class DeveloperKnowledgeExamListener implements JavaDelegate { private Logger logger=Logger.getLogger(DeveloperKnowledgeExamListener.class.getName()); /* (non-Javadoc) * @see org.activiti.engine.delegate.JavaDelegate#execute(org.activiti.engine.delegate.DelegateExecution) */ @Override public void execute(DelegateExecution execute) throws Exception { // TODO Auto-generated method stub logger.info("开始开发知识面试了...."); Map<String,Object> variables= execute.getVariables(); Set<Entry<String,Object>> infos=variables.entrySet(); for (Entry<String, Object> entry : infos) { logger.info(entry.getKey()+" "+entry.getValue()); } logger.info("开始开发知识面试了...."); execute.setVariable("result", "该考生开发知识面试通过了...."); } }
/** package com.easyway.workflow.activiti.exam; import java.util.Map; /** * * * 工作流中配置如下: * * <receiveTask id="receivetask2" name="人事面试"> <extensionElements> <activiti:executionListener event="start" class="com.easyway.workflow.activiti.exam.HumanResourceExamListener"/> </extensionElements> </receiveTask> * @author longgangbai * * 2011-12-18 上午12:37:01 */ public class HumanResourceExamListener implements JavaDelegate { private Logger logger=Logger.getLogger(HumanResourceExamListener.class.getName()); /* (non-Javadoc) * @see org.activiti.engine.delegate.JavaDelegate#execute(org.activiti.engine.delegate.DelegateExecution) */ @Override public void execute(DelegateExecution execute) throws Exception { // TODO Auto-generated method stub // TODO Auto-generated method stub logger.info("检查该考试是否通过开发知识考试...."); Map<String,Object> variables= execute.getVariables(); String reuslt=variables.get("result").toString(); logger.info("开发知识面试结果"+reuslt); logger.info("开始人事面试了...."); execute.setVariable("result", "该考生开发知识面试通过了...."); logger.info("人事面试完毕....等候通知...."); } }
/** package com.easyway.workflow.activiti.exam; import java.util.logging.Logger; /** * * 工作流模拟程序员面试过程情景如下: * 1.开发知识面试或者笔试 * 2.人事面试 * * 在spring3.0.3和activiti5.6整合时候,建议采用activiti-spring-examples中的jar文件。 * 如果么有完整 的jar文件,可以参考{activiti_home}/setup/files/dependencies/libs.spring.runtime.txt文件 * 。(C:\mash_activiti-5.6\setup\files\dependencies) * * 之所以要采用封装的原因,spring配置文件和activiti的配置文件分开发布部署。 * * @author longgangbai * * 2011-12-18 上午01:32:17 */ @ContextConfiguration("classpath:application-context-standalone.xml") public abstract class AbstractSpringTest extends AbstractTransactionalJUnit4SpringContextTests { @SuppressWarnings("unused") private final Logger log = Logger.getLogger(AbstractSpringTest.class.getName()); @SuppressWarnings("unused") @Autowired private ProcessEngine processEngine; @Autowired protected RepositoryService repositoryService; @Autowired protected RuntimeService runtimeService; @Autowired protected TaskService taskService; @Autowired protected HistoryService historyService; @Autowired protected ManagementService managementService; protected String deploymentId; public AbstractSpringTest() { super(); } @Before public void initialize() throws Exception { beforeTest(); } @After public void clean() throws Exception { afterTest(); } protected abstract void beforeTest() throws Exception; protected abstract void afterTest() throws Exception; }
/** package com.easyway.workflow.activiti.exam; import java.util.HashMap; /** * 我把Activiti 5.6默认工程中有关JPA的部分配置删除了,其实通过这个就可以初始化Activiti引擎实例。 * 为了测试方便,将获取服务的实现抽象出来,同时使用Spring自带的与JUnit4集成的工具( * AbstractTransactionalJUnit4SpringContextTests)。 * * 将classpath:activiti-context.xml在测试的时候进行加载,这样,在测试的子类中,只需要将其他的相 * 关Spring配置单独加载即可,业务配置与流程配置分开,便于维护。 * @author longgangbai * * 2011-12-18 上午01:37:14 */ @ContextConfiguration("classpath:application-context-standalone.xml") public class ActivitiWithSpringStandaloneTest extends AbstractSpringTest { @Override protected void beforeTest() throws Exception { Deployment deployment = repositoryService .createDeployment() .addClasspathResource( "diagrams/SprintActiviti56.bpmn20.xml") .deploy(); deploymentId = deployment.getId(); } @Override protected void afterTest() throws Exception { repositoryService.deleteDeployment(deploymentId, true); } @Test public void triggerMyProcess() { // prepare data packet Map<String, Object> variables = new HashMap<String, Object>(); variables.put("姓名", "程序员"); variables.put("职务", "高级软件工程师"); variables.put("语言", "Java/C#"); variables.put("操作系统", "Window,Linux,unix,Aix"); variables.put("工作地点","苏州高新技术软件园"); // start process instance ProcessInstance pi = runtimeService.startProcessInstanceByKey("DeveloperWorkExam", variables); assert (pi!=null); List<Execution> executions = runtimeService.createExecutionQuery().list(); assert (executions.size()==1); Execution execution = runtimeService.createExecutionQuery().singleResult(); runtimeService.setVariable(execution.getId(), "type", "receiveTask"); runtimeService.signal(execution.getId()); executions = runtimeService.createExecutionQuery().list(); assert (executions.size()==1); execution = executions.get(0); runtimeService.setVariable(execution.getId(), "oper", "录用此人...."); runtimeService.signal(execution.getId()); } }
自动部署测试:
/** package com.easyway.workflow.activiti.exam; import java.util.HashMap; /** * * Activiti 5.6与Spring3.0.3整合也比较简单,其基本思想就是,通过Spring的IOC容器来管理Activiti的流程引擎 * 实例以及相关服务,可见,主要是基于Activiti在与Spring整合上努力上,做好配置即可。这里基于前面的 * <receiveTask>的例子来进行. * * * 为了测试方便,将获取服务的实现抽象出来,同时使用Spring自带的与JUnit4集成的工具( * AbstractTransactionalJUnit4SpringContextTests)。我们的实现类为AbstractSpringTest, * * * 本文采用activiti和spring整合中自动部署资源的功能配置如下: * <!-- 创建流程引擎配置对象 --> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource" /> <property name="transactionManager" ref="transactionManager" /> <property name="databaseSchemaUpdate" value="true" /> <property name="mailServerHost" value="localhost" /> <property name="mailServerPort" value="5025" /> <property name="jpaHandleTransaction" value="true" /> <property name="jpaCloseEntityManager" value="true" /> <property name="jobExecutorActivate" value="false" /> <!-- 使用spring的自动资源加载部署方式部署 --> <property name="deploymentResources" value="classpath*:diagrams/*.bpmn20.xml" /> </bean> * @author longgangbai * * 2011-12-18 上午12:58:31 */ @ContextConfiguration("classpath:application-context.xml") public class ActivitiWithSpringTest extends AbstractTransactionalJUnit4SpringContextTests{ @Autowired private RuntimeService runtimeService; @Autowired private TaskService taskService; @Autowired private ManagementService managerService; @Autowired private IdentityService identityService; @Autowired private FormService formService; /** * 测试方法 */ @Test public void triggerMyProcess() { // 面试题目和答案 Map<String, Object> variables = new HashMap<String, Object>(); variables.put("姓名", "程序员"); variables.put("职务", "高级软件工程师"); variables.put("语言", "Java/C#"); variables.put("操作系统", "Window,Linux,unix,Aix"); variables.put("工作地点","苏州高新技术软件园"); // start process instance //获取创建一个实例 ProcessInstance pi = runtimeService.startProcessInstanceByKey("DeveloperWorkExam", variables); assert (pi!=null); List<Execution> executions = runtimeService.createExecutionQuery().list(); assert (executions.size()==1); //执行开发技术知识面试业务 Execution execution = runtimeService.createExecutionQuery().singleResult(); runtimeService.setVariable(execution.getId(), "type", "receiveTask"); runtimeService.signal(execution.getId()); executions = runtimeService.createExecutionQuery().list(); assert (executions.size()==1); //执行人事面试业务 execution = executions.get(0); runtimeService.setVariable(execution.getId(), "oper", "录用此人...."); runtimeService.signal(execution.getId()); } }
运行结果:
2011-12-18 13:30:01 org.activiti.engine.impl.db.DbSqlSession executeSchemaResource 信息: performing create on engine with resource org/activiti/db/create/activiti.h2.create.engine.sql 2011-12-18 13:30:01 org.activiti.engine.impl.db.DbSqlSession executeSchemaResource 信息: performing create on history with resource org/activiti/db/create/activiti.h2.create.history.sql 2011-12-18 13:30:01 org.activiti.engine.impl.db.DbSqlSession executeSchemaResource 信息: performing create on identity with resource org/activiti/db/create/activiti.h2.create.identity.sql 2011-12-18 13:30:02 org.activiti.engine.impl.ProcessEngineImpl <init> 信息: ProcessEngine default created 2011-12-18 13:30:02 org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy 信息: Processing resource diagrams/SprintActiviti56.bpmn20.xml 2011-12-18 13:30:02 org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes 信息: XMLSchema currently not supported as typeLanguage 2011-12-18 13:30:02 org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes 信息: XPath currently not supported as expressionLanguage 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 开始开发知识面试了.... 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 姓名 程序员 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 语言 Java/C# 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 职务 高级软件工程师 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 工作地点 苏州高新技术软件园 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 操作系统 Window,Linux,unix,Aix 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.DeveloperKnowledgeExamListener execute 信息: 开始开发知识面试了.... 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.HumanResourceExamListener execute 信息: 检查该考试是否通过开发知识考试.... 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.HumanResourceExamListener execute 信息: 开发知识面试结果该考生开发知识面试通过了.... 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.HumanResourceExamListener execute 信息: 开始人事面试了.... 2011-12-18 13:30:02 com.easyway.workflow.activiti.exam.HumanResourceExamListener execute 信息: 人事面试完毕....等候通知....
- SpringActiviti56.rar (37.4 KB)
- 下载次数: 863
评论
4 楼
longgangbai
2012-04-13
Jacarri_Chan 写道
请问你将它切换到mysql或者别的数据库过了吗?
试过了Mysql,项目采用MSSQL。
3 楼
Jacarri_Chan
2012-04-10
请问你将它切换到mysql或者别的数据库过了吗?
2 楼
longgangbai
2012-02-19
xghrbc1001 写道
您好,咨询个问题,真正项目中用的话,是用activiti-explorer的界面,在其中部署,还是重新做一个?
目前我们的项目中activiti-explorer和自己的项目时分开的通过http协议访问activiti的服务。起始activiti-explorer的界面只是在项目部署的时候使用可以采用编程方式自己实现,并不是必须的。
1 楼
xghrbc1001
2012-02-13
您好,咨询个问题,真正项目中用的话,是用activiti-explorer的界面,在其中部署,还是重新做一个?
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3359TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51605文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14227最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8703TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2720TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2817TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2462TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2794TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2708TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2088TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2836TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3708TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9432TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6137在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2774Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2635Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3109Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3175Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4575Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2222Feed4Junit官方地址: http://databe ...
相关推荐
在本文中,我们将深入探讨工作流管理系统Activiti 5.6与Spring 3.03的整合,以及如何使用它们来模拟程序员面试过程。Activiti是一个开源的工作流引擎,它为业务流程管理(BPM)提供了强大的支持。Spring框架则是一个...
【工作流Activiti5学习总结】 工作流管理系统(Workflow Management System, WfMS)是企业信息化建设中的重要组成部分,它负责协调和管理业务流程。Activiti5是一款开源的工作流引擎,由Alfresco公司开发,它基于...
"activiti-engine-5.6-sources.jar"则是源码文件,用于开发者查看和理解引擎内部的工作原理,进行调试和学习。 4. **配置集成**: 集成 Activiti 和 Spring 首先需要在 Spring 的配置文件中声明 Activiti 的 Bean。...
在本"工作流Activiti学习代码"资源中,我们将深入探讨如何利用Activiti进行流程设计、部署和执行。 1. Activiti简介: Activiti是一个基于模型驱动的BPMN 2.0规范的工作流引擎,支持图形化建模工具,使得业务人员...
标题中的“工作流Activiti的学习总结(八)Activiti自动执行的应用”表明本文将探讨如何在Activiti工作流引擎中实现任务的自动化执行。Activiti是一个开源的工作流和业务流程管理(BPM)系统,广泛应用于企业级应用...
在本篇博客“工作流Activiti的学习总结(十二)activiti官方十分钟快速学习”中,作者分享了关于Activiti工作流引擎的快速学习经验。Activiti是一个开源的、基于Java的企业级工作流引擎,它被广泛应用于自动化业务...
**正文** ...总结来说,了解并熟练掌握Activiti的常用API对于任何希望实现高效工作流管理的开发者都至关重要。通过学习这个PPT,你将能够更好地理解和应用Activiti,从而提升你的业务流程自动化能力。
本项目“工作流activiti实战项目源码”提供了使用Activiti实现工作流的实例,适合开发者进行学习和实践。 在深入理解这个项目之前,我们先来了解一下Activiti的基本概念和功能: 1. **什么是Activiti**:Activiti ...
将Spring与Activiti整合,可以充分利用Spring的强大功能来管理和驱动Activiti工作流,实现灵活、可扩展且易于维护的业务流程解决方案。 1. **Spring框架**:Spring是一个开源的Java平台,提供了全面的企业应用程序...
在这个“Activiti工作流整合Web流程设计器整合”主题中,我们将深入探讨如何将Activiti与Web流程设计器集成,以实现直观、高效的流程设计和管理。 首先,我们要理解什么是Activiti。Activiti是由Alfresco开发的一款...
本资源包“activit5.6+spring3+struts 项目和学习文档”提供了一个完整的示例,展示了如何将业务流程引擎Activiti 5.6与Java企业级框架Spring 3和Web应用框架Struts进行有效整合,这对于开发者尤其是初学者来说是一...
Activiti是一款开源的工作流引擎,它基于模型驱动的架构(MDA),专为现代企业应用程序设计,用于处理业务流程自动化。这个"Activiti工作流示例Activiti Demo"提供了完整的源代码,帮助开发者深入理解并实际操作...
### Activiti工作流学习总结 #### 一、Activiti学习资源汇总 - **官方网站**: 提供了Activiti的最新版本信息、文档和技术支持等。地址为:[http://www.activiti.org/](http://www.activiti.org/) - **下载页面**: ...
根据提供的文件信息,我们可以深入探讨Activiti工作流框架的相关知识点。 ### Activiti工作流框架概述 Activiti工作流框架是一款由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。它以其灵活性、易用...
activiti工作流文档,超详细,从0基础开始入门,包括数据库介绍、核心api等介绍,满足日常开发所需
而 Activiti 是一个开源的工作流引擎,它实现了业务流程管理(BPM)标准,为企业级应用提供了强大的流程自动化能力。在本实例中,我们将探讨如何将这两个优秀框架整合起来,利用 Activiti Modeler 在 Spring Boot ...
在本文中,我们将深入探讨如何将Spring Boot 2与Activiti 5流程设计器进行整合,以便在Java开发环境中实现高效的工作流管理。首先,我们需要理解这两个核心组件:Spring Boot和Activiti。 Spring Boot是Spring框架...
Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...