表结构 http://blog.csdn.net/jgnewbie/article/details/78614758#comments
申请人设置 http://blog.csdn.net/football98/article/details/52813311
安装流程设计器:
1.:安装方式一 在有网络的情况下,安装流程设计器步骤如下: 1) 打开 Help -> Install New Software. 在如下面板中:
2.点击Add,输入
Name: Activiti Designer
Location: http://Activiti.org/designer/update/
回到Install界面,在面板正中列表中把所有展示出来的项目都勾上:
点击复选框 在Detail部分记得选中 “Contact all updates sites..” , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载
3.安装成功后如图:
4.然后在pom.xml文件中添加以下依赖
<dependencies>
<dependency>
<groupId>org.Activiti</groupId>
<artifactId>Activiti-engine</artifactId>
<version>5.15.1</version>
</dependency>
<dependency>
<groupId>org.Activiti</groupId>
<artifactId>Activiti-spring</artifactId>
<version>5.15.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.3</version>
/dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
</dependencies>
5.建工作流表
在resource下新建配置文件
在main下新建类:
public void createTable(){
ProcessEngine processEngine=ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(“Activiti.cfg.xml”).buildProcessEngine();
/*
ProcessEngineConfiguration configuration=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
configuration.setJdbcUrl(“jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8”);
configuration.setJdbcDriver(“com.mysql.jdbc.Driver”);
configuration.setJdbcUsername(“root”);
configuration.setJdbcPassword(“hu”);
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine proceddEngine =configuration.buildProcessEngine();
*/
System.out.println(“—–proceddEngine—-“+processEngine);
}
执行结束后;
建表完成。
6.Activiti的核心
import org.activiti.engine.HistoryService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.junit.Test;
public class service {
/**
* Activiti的核心类。产生方式
*/
ProcessEngine processEngine=
ProcessEngines.getDefaultProcessEngine();
/**
* 管理流程定义,仓库服务类,所谓仓库指流程定义文档的两个文件:bpmn和流程
* 图片。可以用来删除部署的流程定义。
*/
RepositoryService repositoryService=
processEngine.getRepositoryService();
/**
* 执行管理,包括启动,推进,删除流程实例等操作。
* 流程执行服务类,可从这个服务类中获取很多关于流程执行的相关的信息
*/
RuntimeService runtimeSerive=
processEngine.getRuntimeService();
/**
* 任务管理.任务服务类,可获取任务的相关信息,如当前正在执行的个人待办和用户组的代办任务
*/
TaskService taskService=processEngine.getTaskService();
/**
*查询历史信息类,在一个流程执行完成后,这个对象为我们提供查询历史信息,可跟踪流程实例对应所有待办节点的运行情况。
*/
HistoryService historyService=processEngine.getHistoryService();
/**
* 流程部署定义:发布
*/
@Test
public void deployFlow(){
Deployment deployment=processEngine.getRepositoryService()
.createDeployment().name("activiti入门").addClasspathResource("HelloWord.bpmn")
.addClasspathResource("HelloWord.png").deploy();
System.out.println("id====="+deployment.getId());
System.out.println("name==="+deployment.getName());
}
}
7.画流程
其中一个流程必须包含一个开始节点和一个结束节点,结束节点可以有多个。 然后使用StartEvent, UserTask,EndEvent画出下面的流程图,然后用Connection中的SequenceFlow连线连接起来。
8.在eclipse的windows中的showview中找到properties视图
选中节点,在 General中的name属性中输入当前节点的名称,在Main config中的Assignee中输入该节点的处理人
在流程图旁边的空白出点击一下,输入流程的ID和Name值,然后保存ctrl+s
9.这里使用RepositoryService部署流程定义 addClasspathResource表示从类路径下加载资源文件,一次只能加载一个文件
10.使用RuntimeService启动流程实例
11.查看个人任务 :TaskService完成任务的查询
12.完成任务