- 浏览: 3430883 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (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 3431原文:http://liureying.blog.163.co ... -
使用eclipse创建bpmn2文件的一些问题
2014-06-07 15:18 1757使用bpmn2 diagram Editor编辑器的问题 1 ... -
JBPM6入门资料: Spring4 + Hibernate4 + JBPM6整合
2014-05-21 19:39 18782参考资料: =============== ... -
各种状态的任务查询以及和业务对象关联
2013-09-21 14:26 1963http://www.kafeitu.me/activiti/ ... -
Activiti: 三种部署方式和几种启动方式
2013-09-20 00:24 4731三种部署: 1.自动部署: <property name ... -
Activiti modeler 国际化要点
2013-09-18 15:33 25591. 界面文本:src/main/resources/sten ... -
两篇整合Activiti Modeler到业务系统
2013-09-17 14:29 8704整合Activiti Modeler到业务系统(或BPM平台) ... -
Activiti5.12共22张表
2013-09-17 14:10 1970(1)用户管理表 ACT_ID_GROUP; ... -
Activiti: 关于表单的一些接口
2013-09-17 09:31 2486获得流程启动的时候的表单信息 ProcessInstance ... -
Activiti5: TaskQuery查询API
2013-09-16 13:34 3471http://blog.csdn.net/iflow/arti ... -
第一个Activiti5.13 + Spring3.x例子
2013-09-16 13:24 2366参考: http://www.iteye.com/topic/ ... -
kft-activiti-demo: 部署记录
2013-09-13 17:36 20132.SpringMvc + Activiti + Hibern ... -
SSH 整合 Activiti
2013-09-09 14:45 2025原文:http://blog.chinaunix.net/ui ... -
Activiti BPM Platform工作流的一些资料
2013-09-03 16:07 2936Activiti官方: http://www.activiti ... -
JBPM5.4发送email
2013-05-29 15:57 2084JBPM5.4配置参考: http://panyongzhen ... -
Spring3.1 + Hibernate4.2.1 + JBPM5.4 + Ehache整合例子
2013-05-29 11:17 9483pom.xml ----------------------- ... -
JBPM5 Designer 2.3源码问题
2013-05-24 09:50 2344最新本2.4发布,但是里面是使用Maven的module方式来 ... -
Spring 3 & jBPM 5 & LocalTaskService
2013-05-24 09:52 1830帖子地址:https://community.jboss.or ... -
JBPM Designer 部署
2013-05-24 09:53 1653版本:2.4 把war放到tomcat下面之后,进入的url是 ... -
Dynamic Process Creation Using API [JBPM 5.1]
2013-05-23 08:53 1734http://atulkotwale.blogspot.com ...
相关推荐
下载后解压(我所使用的是5.12版本的,Activiti更新速度飞快,几乎每两个月就会有一个更新的小版本),看到如下目录: 1) database:里面存放的是Activiti使用到的数据库信息的sql文件,它支持的数据库类型如下图,...
本篇文章将通过一个简单的例子来介绍如何在MyEclipse环境中搭建Activiti开发环境,以及如何使用Activiti进行基本的流程定义和执行。 #### 二、准备工作 1. **环境准备**: - 操作系统:Windows 7 64位 - IDE:...
本资源提供的"activiti web 例子 源码"是一个基于Web的Activiti实例,适用于开发者学习和理解如何在Web环境中集成与操作Activiti工作流引擎。 在Activiti 5版本中,它引入了许多关键特性,如: 1. **流程定义...
Activiti 是一个开源的工作流和业务流程...总的来说,通过网上找到的Activiti例子,开发者可以学习如何设计、部署和运行流程,以及如何将Activiti无缝集成到自己的应用程序中,从而提升业务流程的自动化水平和效率。
spring mybatis 整合activiti 初学例子,虽然没有jar包但有jar包的截图,找到一样或高版本的jar包可以运行,activiti最基本的例子,发起流程、待办任务、签收任务、处理任务(审批同意或不同意)、调整申请等功能;...
《JFinal与Activiti整合实践详解》 在Java开发领域,JFinal和Activiti是两个备受瞩目的框架。JFinal是一款轻量级的Java Web框架,以其高效、简洁的特性深受开发者喜爱。而Activiti则是一款流程定义和执行的开源工作...
Activiti整合到Spring的Demo代码,Maven构建项目,里面包含了所有的JSON汉化包,精简pom文件,以及创建流程的测试代码,我使用的IDE是IntelliJ IDEA,使用Eclipse测试时请先将项目转换为maven项目下载jar包
【标题】"Activiti多实例任务实现会签"是指在Activiti工作流引擎中,如何配置和使用多实例任务来实现会签功能。在企业级应用中,会签常常用于决策过程,要求多个参与者共同审批,只有当所有参与者都完成审批后,流程...
在“工作流例子-activiti5”中,我们将探讨如何使用 Activiti 5 来实现这些功能。Activiti 5 是 Activiti 的一个旧版本,但依然包含许多关键特性,如流程定义、流程实例管理、任务处理和历史查询。 首先,让我们...
本项目旨在让Activiti初学者可以快速入门,使用工作流里面的请假流程作为Activiti企业实战的Hello World。 简单通过这个实例说明如何结合流程与业务,表单、业务、流程之前如何衔接…… 发起这个项目也是目前没有...
Activiti 是一个强大的开源业务流程管理系统(BPM)和工作流引擎,专为开发人员和系统管理员设计。它提供了一套全面的工具和技术,帮助企业实现流程自动化,提高工作效率,并简化IT与业务之间的协作。 在 Activiti ...
本文将通过一个具体的小例子,深度解析Activiti 5.6版本的核心功能和使用方法。 一、什么是Activiti? Activiti是一款基于Java的业务流程管理系统(BPM),它基于Apache 2.0协议,提供了强大的流程定义、执行、...
**Spring Boot 整合 Activiti Modeler 深度解析** Spring Boot 是一款基于 Spring Framework 的轻量级框架,它简化了新 Spring 应用的初始搭建以及开发过程。而 Activiti 是一个开源的工作流引擎,它实现了业务流程...
这个压缩包中的“activiti流程管理的几个小例子”旨在帮助用户更深入地理解和应用Activiti。通过这些实例,我们可以探索以下几个关键知识点: 1. **流程定义(Process Definition)**:在Activiti中,流程定义是...
该资源是用activit6.0写的一个工作流的例子,放在tomcat下的wepapps就可以运行。
描述中提到"activiti项目例子"进一步确认了这是一个用于教学或学习目的的项目。它提示我们需要修改数据库配置,这可能涉及到连接到特定数据库的详细信息,如URL、用户名和密码。同时,提到了...
Activiti 是一个开源的工作流和业务自动化引擎,它在企业级应用中被广泛用于实现业务流程管理(BPM)。这个“出差流程后台系统-基于activiti”项目显然是利用Activiti来构建的一个具体业务场景——员工出差申请的...
Activiti工作流是一个开源的业务流程管理(BPM)和工作流引擎,它为企业提供了一种灵活、可扩展的方式来管理其业务流程。这个压缩包文件包含的“activiti工作流案例”是帮助初学者快速理解和实践Activiti工作流的一...
3. **示例项目**:演示如何使用Activiti进行流程设计和实施,这些例子通常涵盖了各种常见场景。 4. **库文件**:包含Activiti运行所需的JAR包,便于在项目中引入和配置。 5. **数据库脚本**:用于创建和初始化...
【标题】"activiti5.9 请假流程例子 eclipse项目" 在企业级应用开发中,工作流管理系统(Workflow Management System)扮演着至关重要的角色,它能够自动化和管理业务流程,提高工作效率。Activiti 是一个开源的...