`
knight_black_bob
  • 浏览: 853491 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流 activiti

阅读更多

 

 

package com.couriousby.bpmb;
 

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import javax.annotation.Resource;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.task.Task;
import org.junit.Assert;
import org.junit.Test;

import com.couriousby.service.ProcessService;

public class AtivitiTest extends SpringContextTest{
	
	
	@Resource
	private RepositoryService repositoryService;
	@Resource
	private RuntimeService runtimeService;
	@Resource 
	TaskService taskService;
	
	@Resource
	ProcessService processService; 
	
	@Test
	public void testActiviti() throws Exception {
		InputStream is = readXmlFile();
		
		Assert.assertNotNull(is);
		//发布流程
		Deployment deployment=repositoryService.createDeployment().addInputStream("bpmn20.xml", is).name("first").deploy();
		Assert.assertNotNull(deployment);
		System.out.println("deployId:" + deployment.getId()); 
		  
		//查询流程定义
		ProcessDefinition processDefinition=repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
		
		Long businessKey=new Double(1000000*Math.random()).longValue();
		//启动流程
		runtimeService.startProcessInstanceById(processDefinition.getId(),businessKey.toString());
		//查询任务实例
		List<Task> taskList=taskService.createTaskQuery().processDefinitionId(processDefinition.getId()).list();
		Assert.assertNotNull(taskList==null);
		Assert.assertTrue(taskList.size()>0);
		for(Task task:taskList){
			System.out.println("task name is " + task.getName() + " ,task key is " + task.getTaskDefinitionKey());
			 taskService.complete(task.getId());
		}
		

		 processService.getInput( deployment.getId());
		
	}
	
	public InputStream readXmlFile() throws IOException{
		String filePath="first.bpmn";
		return Class.class.getClass().getResource("/"+filePath).openStream();
	}
}

 

 

 

package com.couriousby.bpmb;
 

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath*:applicationContext*.xml" })
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@Transactional
public class SpringContextTest extends AbstractTransactionalJUnit4SpringContextTests{

	 
	
	@Test
	public void test() {
		System.out.println("test...");
		System.out.println("we can see tables from databases. ");
		System.out.println(" "  + "\r\n"
				+ "act_ge_bytearray  "  + "\r\n"
				+ "act_ge_property" + "\r\n"
				+ "act_hi_actinst " + "\r\n"
				+ "act_hi_attachment"+ "\r\n"
				+ "act_hi_comment" + "\r\n"
				+ "act_hi_detail " + "\r\n"
				+ "act_hi_identitylink " + "\r\n"
				+ "act_hi_procinst"+ "\r\n"
				+ "act_hi_taskinst " + "\r\n"
				+ "act_hi_varinst" + "\r\n"
				+ "act_id_group " + "\r\n"
				+ "act_id_info " + "\r\n"
				+ "act_id_membership"+ "\r\n"
				+ "act_id_user " + "\r\n"
				+ "act_re_deployment" + "\r\n"
				+ "act_re_model " + "\r\n"
				+ "act_re_procdef " + "\r\n"
				+ "act_ru_event_subscr"+ "\r\n"
				+ "act_ru_execution " + "\r\n"
				+ "act_ru_identitylink" + "\r\n"
				+ "act_ru_job" + "\r\n"
				+ "act_ru_task " + "\r\n"
				+ "act_ru_variable"+ "\r\n"
				+ "");
		System.out.println("test success ,end ");
	}
}

 

 

pom

<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.curiousby.activiti.demo</groupId>
	<artifactId>DemoActiviti</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>DemoActiviti Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<modelVersion>4.0.0</modelVersion>
		<groupId>com.hotent.demo</groupId>
		<artifactId>activiti</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<activiti.version>5.19.0</activiti.version>
	</properties>

	<dependencies>
	
	
	<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>
		<dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-bpmn-model</artifactId>
			<version>${activiti.version}</version>
		</dependency>
		<dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-bpmn-converter</artifactId>
			<version>${activiti.version}</version>
		</dependency>
		<dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-process-validation</artifactId>
			<version>${activiti.version}</version>
		</dependency>
		 <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-rest</artifactId>
            <version>${activiti.version}</version>
        </dependency> 
         
	
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.29</version>
		</dependency>


		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>3.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.5</version>


		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
		</dependency>


		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.6</version>
		</dependency>
 
		
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.1</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.7.6</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.6</version>
		</dependency>


		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.1</version>
		</dependency>
		<dependency>
			<groupId>javax.annotation</groupId>
			<artifactId>javax.annotation-api</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>


	</dependencies>



	<build>
		<finalName>DemoActiviti</finalName>
	</build>
</project>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

分享到:
评论

相关推荐

    工作流Activiti5学习总结

    【工作流Activiti5学习总结】 工作流管理系统(Workflow Management System, WfMS)是企业信息化建设中的重要组成部分,它负责协调和管理业务流程。Activiti5是一款开源的工作流引擎,由Alfresco公司开发,它基于...

    工作流Activiti的学习总结(八)Activiti自动执行的应用

    标题中的“工作流Activiti的学习总结(八)Activiti自动执行的应用”表明本文将探讨如何在Activiti工作流引擎中实现任务的自动化执行。Activiti是一个开源的工作流和业务流程管理(BPM)系统,广泛应用于企业级应用...

    工作流activiti学习代码

    工作流Activiti是一种开源的工作流引擎,用于在企业应用程序中实现业务流程自动化。它由Alfresco Software开发,旨在提供灵活、可扩展且易于使用的流程管理解决方案。在本"工作流Activiti学习代码"资源中,我们将...

    工作流activiti实战项目源码

    本项目“工作流activiti实战项目源码”提供了使用Activiti实现工作流的实例,适合开发者进行学习和实践。 在深入理解这个项目之前,我们先来了解一下Activiti的基本概念和功能: 1. **什么是Activiti**:Activiti ...

    工作流activiti源码案例

    工作流Activiti是一个开源的工作流引擎,用于在Java应用程序中实现业务流程自动化。它提供了一套全面的工具和API,使开发人员能够轻松地设计、部署和管理业务流程。在这个"工作流activiti源码案例"中,我们可以深入...

    工作流activiti-6.0.0.zip

    这个"工作流activiti-6.0.0.zip"文件包含的是Activiti 6.0.0版本的完整包,通常包括源代码、文档、库文件和其他必要的组件,用于开发和部署基于Activiti的工作流系统。 Activiti 6.0.0是一个重要的版本,因为它引入...

    工作流activiti简单demo

    这个"工作流activiti简单demo"是为初学者或开发者提供的一种快速入门示例,旨在帮助理解Activiti的核心概念和操作。 1. Activiti简介: Activiti 是由 Alfresco 公司开发的一个基于 Java 的 BPMN 2.0 规范的工作流...

    工作流activitiDemo

    工作流activitiDemo是一个基于Java语言和Activiti框架的示例项目,主要用于演示如何在企业级应用中实现工作流程管理。Activiti是一个开源的工作流引擎,它为业务流程自动化提供了强大的支持,尤其适用于那些需要规范...

    工作流activiti ssh 项目workflow

    工作流activiti workflow ssh 项目,手把手教你实现activiti web 应用。good

    工作流activiti文档

    ### 工作流Activiti文档知识点详解 #### 一、工作流概述 工作流(Workflow)是指业务过程的部分或整体在计算机应用环境下的自动化过程。它通过自动化文档、信息或任务在多个参与者之间的传递,来实现某个预期的业务...

    跟着案例讲解工作流 Activiti

    【标题】"跟着案例讲解工作流 Activiti" 涉及到的是企业级工作流引擎Activiti的相关知识,这是一款基于Java的开源流程自动化框架,主要用于业务流程管理(BPM)。Activiti由Alfresco Software公司开发,设计目标是...

    工作流activiti-designer-5.18.0 附带4个安装过程中会报错缺少的jar包

    工作流Activiti Designer是基于BPMN 2.0标准的流程建模工具,它提供了一个可视化的界面,使得IT专业人员和业务分析师能够轻松设计、部署和管理业务流程。这款工具是Activiti工作流引擎的一部分,Activiti是一个轻量...

    工作流activiti开发demo

    本“工作流activiti开发demo”旨在提供一个实践平台,帮助开发者理解和掌握Activiti的基本用法和关键概念。 在开发过程中,首先需要了解的是Activiti的核心组件和概念: 1. **流程定义(Process Definition)**:...

    工作流Activiti的学习总结(十二) activiti官方十分钟快速学习

    在本篇博客“工作流Activiti的学习总结(十二)activiti官方十分钟快速学习”中,作者分享了关于Activiti工作流引擎的快速学习经验。Activiti是一个开源的、基于Java的企业级工作流引擎,它被广泛应用于自动化业务...

    工作流activiti集合spring

    工作流Activiti与Spring的集成是企业级应用中常见的技术组合,主要用于实现自动化业务流程管理。Activiti是一款开源的工作流引擎,它提供了丰富的流程建模、执行和监控能力,而Spring作为Java应用开发的基石,提供了...

    工作流activiti数据库配置文件

    工作流Activiti是一款开源的工作流程管理系统,用于设计、执行和管理业务流程。它基于Java,兼容JEE标准,且与Spring框架高度集成。在 Activiti 中,数据库配置文件是核心组成部分,因为它定义了如何连接到存储流程...

    工作流Activiti的学习总结(五) activiti的API和虚拟工作流测试.pdf

    【工作流Activiti的核心概念与API】 Activiti是一款开源的工作流引擎,用于构建业务流程管理系统(BPM)。它提供了一套强大的API,使得开发者能够轻松地集成和操作工作流。在学习总结(五)中,我们将关注Activiti的...

    activiti工作流PPT

    Activiti作为一个工作流引擎,允许开发者通过编程或使用图形化工具定义、执行和管理这些流程。 在Activiti中,流程定义是用BPMN 2.0(Business Process Model and Notation)语言编写的,这是一种国际标准,用于...

Global site tag (gtag.js) - Google Analytics