- 浏览: 3363068 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
Spring 与Activiti的入门整合 http://www.iteye.com/topic/1134046
Activiti 5.12用户指南之Activiti的Spring集成 http://www.iteye.com/topic/1130389
Activiti 5.15 用户手册 http://www.mossle.com/docs/activiti/
默认Explorer应用使用的内存数据库已经包含了示例流程,用户和群组信息。
下面是示例中可以使用的用户:
账号 密码 角色
kermit kermit admin
gonzo gonzo manager
fozzie fozzie user
--------------------------------------------------
Activiti 5.12用户指南之Activiti的Spring集成 http://www.iteye.com/topic/1130389
Activiti 5.15 用户手册 http://www.mossle.com/docs/activiti/
默认Explorer应用使用的内存数据库已经包含了示例流程,用户和群组信息。
下面是示例中可以使用的用户:
账号 密码 角色
kermit kermit admin
gonzo gonzo manager
fozzie fozzie user
--------------------------------------------------
package com; import org.activiti.bpmn.converter.BpmnXMLConverter; import org.activiti.bpmn.model.BpmnModel; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.editor.language.json.converter.BpmnJsonConverter; import org.activiti.engine.*; import org.activiti.engine.form.StartFormData; import org.activiti.engine.form.TaskFormData; import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.repository.Deployment; import org.activiti.engine.repository.Model; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.node.ObjectNode; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created with IntelliJ IDEA. * User: pandy * Date: 13-9-16 * Time: 上午9:36 * To change this template use File | Settings | File Templates. */ @Controller @RequestMapping("/a") public class TestController { @Resource(name = "taskService") private TaskService taskService; @Resource(name = "runtimeService") private RuntimeService runtimeService; @Resource(name = "repositoryService") private RepositoryService repositoryService; @Resource(name = "formService") private FormService formService; @Resource(name = "historyService") private HistoryService historyService; /** * 获得一些查询列表 * * @return */ @RequestMapping("/list") public ModelAndView list() { ModelAndView view = new ModelAndView("list"); List<Task> tasks = taskService.createTaskQuery().list(); view.addObject("tasks", tasks); view.addObject("message", "This is a message."); List<Model> modelList = repositoryService.createModelQuery().list(); view.addObject("modelList", modelList); List<Deployment> deploymentList = repositoryService.createDeploymentQuery().list(); view.addObject("deploymentList", deploymentList); List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery().list(); view.addObject("processDefinitionList", processDefinitionList); return view; } /** * 创建一个modeler * * @return */ @RequestMapping("/create") public ModelAndView create() { Date d = new Date(); String str = "Pandy_" + d.getTime() + ""; try { ObjectMapper objectMapper = new ObjectMapper(); ObjectNode editorNode = objectMapper.createObjectNode(); editorNode.put("id", "canvas"); editorNode.put("resourceId", "canvas"); ObjectNode stencilSetNode = objectMapper.createObjectNode(); stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); editorNode.put("stencilset", stencilSetNode); Model modelData = repositoryService.newModel(); ObjectNode modelObjectNode = objectMapper.createObjectNode(); modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, str); modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, str); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName(str); modelData.setKey(str); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8")); } catch (Exception e) { e.printStackTrace(); } String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 删除一个已经部署的实例 * * @param id * @return */ @RequestMapping("/deleteModeler") public ModelAndView deleteModeler(@RequestParam("id") String id) { System.out.println("id=" + id); try { repositoryService.deleteModel(id); } catch (Exception e) { e.printStackTrace(); } String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 部署一个Modeler * * @param id * @return */ @RequestMapping("/deployModel") public ModelAndView deployModel(@RequestParam("id") String id) { System.out.println("id=" + id); Deployment deployment = null; try { Model modelData = repositoryService.getModel(id); ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree( repositoryService.getModelEditorSource(modelData.getId()) ); byte[] bpmnBytes = null; BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; deployment = repositoryService.createDeployment() .name(modelData.getName()) .addString(processName, new String(bpmnBytes)) .deploy(); } catch (Exception e) { e.printStackTrace(); } String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 删除一个已经部署的实例 * * @param id * @return */ @RequestMapping("/deleteDeploy") public ModelAndView deleteDeploy(@RequestParam("id") String id) { System.out.println("id=" + id); try { repositoryService.deleteDeployment(id,false); } catch (Exception e) { e.printStackTrace(); } String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 启动已经部署工作流 * * @return */ @RequestMapping("/start") public ModelAndView start(@RequestParam("id") String defId) { Map<String, Object> variables = new HashMap<String, Object>(); /* variables.put("employeeName", "Kermit"); variables.put("numberOfDays", new Integer(4)); variables.put("vacationMotivation", "I'm really tired!");*/ //启动 System.out.println("启动"); //ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variables); ProcessInstance processInstance = runtimeService.startProcessInstanceById(defId, variables); //StartFormData formData = formService.getStartFormData(processInstance.getProcessDefinitionId()); String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 完成一个节点 * * @param id * @return */ @RequestMapping("/complete") public ModelAndView complete(@RequestParam("id") String id) { //List<Task> list = taskService.createTaskQuery().taskDefinitionKey(id).list(); List<Task> list = taskService.createTaskQuery().taskId(id).list(); if (list != null && !list.isEmpty()) { for (Task task : list) { TaskFormData formData = formService.getTaskFormData(task.getId()); taskService.complete(task.getId()); } } String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 导出流程 * * @param fileName * @param bpmnBytes */ public void exportFile(String fileName, byte[] bpmnBytes) { fileName = "/mnt/D/work_documents/workspace/ActivitiTemp/src/main/resources/diagrams/" + fileName; System.out.println(fileName); FileOutputStream fos = null; try { fos = new FileOutputStream(fileName, true); fos.write(bpmnBytes); fos.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (IOException iex) { } } } /** * 启动已经部署工作流 * * @return */ @RequestMapping("/start1") public ModelAndView start1() { Map<String, Object> variables = new HashMap<String, Object>(); /* variables.put("employeeName", "Kermit"); variables.put("numberOfDays", new Integer(4)); variables.put("vacationMotivation", "I'm really tired!");*/ //启动 System.out.println("启动"); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variables); StartFormData formData = formService.getStartFormData(processInstance.getProcessDefinitionId()); String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 启动已经部署工作流 * * @return */ @RequestMapping("/start2") public ModelAndView start2() { Map<String, Object> variables = new HashMap<String, Object>(); /* variables.put("employeeName", "Kermit"); variables.put("numberOfDays", new Integer(4)); variables.put("vacationMotivation", "I'm really tired!");*/ //启动 System.out.println("启动"); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variables); String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 启动已经部署Form工作流 * * @return */ @RequestMapping("/start3") public ModelAndView start3() { Map<String, Object> variables = new HashMap<String, Object>(); /* variables.put("employeeName", "Kermit"); variables.put("numberOfDays", new Integer(4)); variables.put("vacationMotivation", "I'm really tired!");*/ //启动 System.out.println("启动"); Map<String, String> properties = new HashMap<String, String>(); ProcessInstance processInstance = formService.submitStartFormData("xxxxx", properties); String url = "redirect:/a/list.do"; return new ModelAndView(url); } /** * 这只是一个测试的方法 * * @return */ @RequestMapping("/mytest") public ModelAndView mytest() { System.out.println("开始执行工作流的方法"); //发布 System.out.println("发布"); repositoryService.createDeployment() .addClasspathResource("bpmn/MyProcess.bpmn") .deploy(); Map<String, Object> variables = new HashMap<String, Object>(); /* variables.put("employeeName", "Kermit"); variables.put("numberOfDays", new Integer(4)); variables.put("vacationMotivation", "I'm really tired!");*/ //启动 System.out.println("启动"); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variables); //遍历任务 System.out.println("遍历所有"); //List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("management").list(); //List<Task> tasks = taskService.createTaskQuery().taskCandidateUser("test").list(); List<Task> tasks = taskService.createTaskQuery().taskAssignee("test").list(); for (Task task : tasks) { System.out.println("#Task available: " + task.getId() + ":" + task.getName()); Map<String, Object> taskVariables = new HashMap<String, Object>(); //taskService.complete(task.getId(), taskVariables); System.out.println("complete#Task: " + task.getId() + ":" + task.getName()); } //查看任务 System.out.println("遍历所有"); tasks = taskService.createTaskQuery().list(); for (Task task : tasks) { System.out.println("@Task available: " + task.getId() + ":" + task.getName()); } String url = "redirect:/a/list.do"; return new ModelAndView(url); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <% String path=request.getContextPath(); %> <html> <head> <title></title> <style> table,tr,th,td{ border: 1px solid #000000; } </style> </head> <body> <br>模型列表: 创建模型: <a href="<%=path%>/a/create.do">Create</a> <table border="0"> <tr> <th>ID</th> <th>Key</th> <th>Name</th> <th>编辑</th> <th>部署</th> <th>删除</th> </tr> <c:forEach items="${modelList}" var="t"> <tr> <td>${t.id}</td> <td>${t.key}</td> <td>${t.name}</td> <td><a target="_blank" href="<%=path%>/modeler/service/editor?id=${t.id}">编辑</a></td> <td><a target="_self" href="<%=path%>/a/deployModel.do?id=${t.id}">部署</a></td> <td><a target="_self" href="<%=path%>/a/deleteModeler.do?id=${t.id}">删除</a></td> </tr> </c:forEach> </table> <br>已经部署列表: 启动任务: <a href="<%=path%>/a/start1.do">Start1</a> <a href="<%=path%>/a/start2.do">Start2</a> <table border="0"> <tr> <th>定义ID</th> <th>部署ID</th> <th>Key</th> <th>Name</th> <th>启动</th> <th>删除</th> </tr> <c:forEach items="${processDefinitionList}" var="d"> <tr> <td>${d.id}</td> <td>${d.deploymentId}</td> <td>${d.key}</td> <td>${d.name}</td> <td><a href="<%=path%>/a/start.do?id=${d.id}">启动</a></td> <td><a href="<%=path%>/a/deleteDeploy.do?id=${d.deploymentId}">删除</a></td> </tr> </c:forEach> </table> <br>任务列表: <table border="0"> <tr> <th>ID</th> <th>Name</th> <th>完成</th> </tr> <c:forEach items="${tasks}" var="t"> <tr> <td>${t.id}</td> <td>${t.name}</td> <td><a href="<%=path%>/a/complete.do?id=${t.id}">批准</a></td> </tr> </c:forEach> </table> </body> </html>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd"> <context:component-scan base-package="com"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://192.168.0.196:3306/activiti_demo"/> <property name="username" value="root"/> <property name="password" value=""/> </bean> <!--<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://192.168.0.196:3306/activiti_demo" /> <property name="username" value="root" /> <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="deploymentResources" value="classpath*:/bpmn/*.bpmn"/> <property name="transactionManager" ref="transactionManager"/> <property name="databaseSchemaUpdate" value="true"/> <property name="jobExecutorActivate" value="false"/> <property name="processDefinitionCacheLimit" value="10"/> <property name="activityFontName" value="${diagram.activityFontName}"/> <property name="labelFontName" value="${diagram.labelFontName}"/> </bean> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"> <property name="processEngineConfiguration" ref="processEngineConfiguration"/> </bean> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/> <bean id="formService" factory-bean="processEngine" factory-method="getFormService"/> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/> <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"/> <!-- Activiti end --> </beans>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.pandy</groupId> <artifactId>activiti_demo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>activiti_demo</name> <url>http://maven.apache.org</url> <properties> <spring.version>3.1.2.RELEASE</spring.version> <activiti.version>5.13</activiti.version> <spring-data-jpa.version>1.3.4.RELEASE</spring-data-jpa.version> <commons-dbcp.version>1.4</commons-dbcp.version> <commons-io.version>2.4</commons-io.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!--<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.2.3</version> </dependency>--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> </dependency> <!-- Activiti --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>${activiti.version}</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>${activiti.version}</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>${spring-data-jpa.version}</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit-dep</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <!-- WEB begin --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- JDBC --> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <!-- dbcp connection pool --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>${commons-dbcp.version}</version> </dependency> <!-- bonecp --> <dependency> <groupId>com.jolbox</groupId> <artifactId>bonecp</artifactId> <version>0.8.0-rc1</version> </dependency> <!-- Modeler --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-modeler</artifactId> <version>${activiti.version}</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-explorer</artifactId> <version>${activiti.version}</version> <exclusions> <exclusion> <groupId>com.vaadin</groupId> <artifactId>vaadin</artifactId> </exclusion> <exclusion> <groupId>org.vaadin.addons</groupId> <artifactId>dcharts-widget</artifactId> </exclusion> <exclusion> <artifactId>activiti-simple-workflow</artifactId> <groupId>org.activiti</groupId> </exclusion> </exclusions> </dependency> <!-- 查看流程详细定义 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-diagram-rest</artifactId> <version>${activiti.version}</version> </dependency> </dependencies> <repositories> <repository> <id>Alfresco Maven Repository</id> <url>https://maven.alfresco.com/nexus/content/groups/public/</url> </repository> <repository> <id>buzzmedia</id> <url>http://maven.thebuzzmedia.com</url> <!-- ImageScalr --> </repository> <repository> <id>activiti</id> <name>Activiti</name> <url>https://maven.alfresco.com/nexus/content/repositories/activiti/</url> </repository> <repository> <id>Alfresco thirdparty</id> <url>https://maven.alfresco.com/nexus/content/repositories/thirdparty/</url> </repository> <repository> <id>activiti-third-party</id> <name>Activiti third party</name> <url>https://maven.alfresco.com/nexus/content/repositories/activiti-thirdparty/</url> </repository> <repository> <id>maven-restlet</id> <name>Public online Restlet repository</name> <url>http://maven.restlet.org</url> </repository> </repositories> <build> <finalName>activiti_demo</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.3.v20120416</version> <configuration> <webApp> <contextPath>/activiti_demo</contextPath> </webApp> </configuration> </plugin> </plugins> </build> </project>
评论
1 楼
Jelly_oy
2014-05-07
大侠,可以请教下你吗?
addModelEditorSource(String modelId, byte[] bytes)
这个方法的第二个参数,是什么东东啊?
是流程定义XML文件对应的字节数组吗?
addModelEditorSource(String modelId, byte[] bytes)
这个方法的第二个参数,是什么东东啊?
是流程定义XML文件对应的字节数组吗?
发表评论
-
drools 规则文件 —— 语法
2014-06-09 21:53 3350原文:http://liureying.blog.163.co ... -
使用eclipse创建bpmn2文件的一些问题
2014-06-07 15:18 1665使用bpmn2 diagram Editor编辑器的问题 1 ... -
JBPM6入门资料: Spring4 + Hibernate4 + JBPM6整合
2014-05-21 19:39 18724参考资料: =============== ... -
各种状态的任务查询以及和业务对象关联
2013-09-21 14:26 1900http://www.kafeitu.me/activiti/ ... -
Activiti: 三种部署方式和几种启动方式
2013-09-20 00:24 4646三种部署: 1.自动部署: <property name ... -
Activiti modeler 国际化要点
2013-09-18 15:33 25021. 界面文本:src/main/resources/sten ... -
两篇整合Activiti Modeler到业务系统
2013-09-17 14:29 8658整合Activiti Modeler到业务系统(或BPM平台) ... -
Activiti5.12共22张表
2013-09-17 14:10 1913(1)用户管理表 ACT_ID_GROUP; ... -
Activiti: 关于表单的一些接口
2013-09-17 09:31 2453获得流程启动的时候的表单信息 ProcessInstance ... -
Activiti5: TaskQuery查询API
2013-09-16 13:34 3431http://blog.csdn.net/iflow/arti ... -
第一个Activiti5.13 + Spring3.x例子
2013-09-16 13:24 2324参考: http://www.iteye.com/topic/ ... -
kft-activiti-demo: 部署记录
2013-09-13 17:36 19822.SpringMvc + Activiti + Hibern ... -
SSH 整合 Activiti
2013-09-09 14:45 1984原文:http://blog.chinaunix.net/ui ... -
Activiti BPM Platform工作流的一些资料
2013-09-03 16:07 2875Activiti官方: http://www.activiti ... -
JBPM5.4发送email
2013-05-29 15:57 2032JBPM5.4配置参考: http://panyongzhen ... -
Spring3.1 + Hibernate4.2.1 + JBPM5.4 + Ehache整合例子
2013-05-29 11:17 9435pom.xml ----------------------- ... -
JBPM5 Designer 2.3源码问题
2013-05-24 09:50 2302最新本2.4发布,但是里面是使用Maven的module方式来 ... -
Spring 3 & jBPM 5 & LocalTaskService
2013-05-24 09:52 1793帖子地址:https://community.jboss.or ... -
JBPM Designer 部署
2013-05-24 09:53 1562版本:2.4 把war放到tomcat下面之后,进入的url是 ... -
Dynamic Process Creation Using API [JBPM 5.1]
2013-05-23 08:53 1702http://atulkotwale.blogspot.com ...
相关推荐
该文档是针对activiti技术的简单小例子
最新的activiti5 基于web的例子 工作流技术
spring mybatis 整合activiti 初学例子,虽然没有jar包但有jar包的截图,找到一样或高版本的jar包可以运行,activiti最基本的例子,发起流程、待办任务、签收任务、处理任务(审批同意或不同意)、调整申请等功能;...
下载后解压(我所使用的是5.12版本的,Activiti更新速度飞快,几乎每两个月就会有一个更新的小版本),看到如下目录: 1) database:里面存放的是Activiti使用到的数据库信息的sql文件,它支持的数据库类型如下图,...
activiti网上的例子
Activiti多实例任务实现会签.
本项目旨在让Activiti初学者可以快速入门,使用工作流里面的请假流程作为Activiti企业实战的Hello World。 简单通过这个实例说明如何结合流程与业务,表单、业务、流程之前如何衔接…… 发起这个项目也是目前没有...
工作需要用到Activiti,基于maven构建的Activiti与Spring集成的例子。网上找的例子参差不齐,我只要最简单的例子,网上没有所需要的,只我自已整理一份了。 该demo只是一个可以运行的最基本的例子。 希望该例子对例...
Activiti 学习例子
用jetty的方式启动
这是一个简单的activiti工作流例子,是你快速学习掌握activiti工作流的使用,不必过多的看太多理论知识
该资源是用activit6.0写的一个工作流的例子,放在tomcat下的wepapps就可以运行。
activiti项目例子 ,记得改数据库的配置和com.jerryl.activiti.config.Cfg_Activiti下面的配置
这是activiti业务流程管理的几个小例子。包含了各种需要流程管理的例子,有助于你加深对activiti流程管理的理解与运用。
自己写的体现activiti的扭转的过程的demo。组件用的不是很多,但是基本上常用的都具备。数据库是mysql,spring3.0.activiti5.13的数据库脚本。如何无法执行,将错误贴到回帖,下一次解答
这个是Activiti开发的请假流程实例,可以作为用Activiti开发工作流的参考;项目采用spring+hibernate+strus2+activity开发,可以运行;数据库采用oracle,其中 QingJia 和 QingJiaHis 是自己的业务表,分别表示 请假...
工作流 实例 activiti 5 工作流的部署 运行 历史查询 流程图 实例介绍
Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。 因为国内墙的原因,上传供大家使用!
出差流程后台系统-基于activiti