`

JBPM入门

    博客分类:
  • IT
阅读更多
public class HelloWorld_API {

	@Test
	public void createSchema() {
		new Configuration().configure().buildSessionFactory();
	}

	// 部署流程定义
	@Test
	public void deploy() {
		ProcessDefinition pd = null;
		// 1, xml 文件,指定的是资源的相对路径(相对于classpath)
		pd = ProcessDefinition.parseXmlResource("helloworld/processdefinition.xml");
		// pd = ProcessDefinition.parseXmlInputStream(inputStream);
		// pd = ProcessDefinition.parseXmlReader(reader);
		// 2, zip 文件(流程定义文档),指定的是资源的相对路径(相对于classpath)
		// pd = ProcessDefinition.parseParResource("helloworld/helloworld.zip");
		// pd = ProcessDefinition.parseParZipInputStream(zipInputStream);
		// 3, String
		// pd = ProcessDefinition.parseXmlString(xmlString);

		// JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
		JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("/jbpm.cfg.xml");
		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
		// jbpmContext.getSession();
		try {
			jbpmContext.deployProcessDefinition(pd);
			// jbpmContext.getGraphSession().deployProcessDefinition(pd);
		} catch (RuntimeException e) {
			jbpmContext.setRollbackOnly();
			throw e;
		} finally {
			jbpmContext.close(); // 提交/回滚 事务,关闭Session
		}
	}

	// 启动/创建 流程实例(Signal)
	@Test
	public void startProcessInstance() { //
		JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务

		ProcessDefinition pd = jbpmContext.getGraphSession().findLatestProcessDefinition("helloworld");
		ProcessInstance pi = pd.createProcessInstance();
		// jbpmContext.save(pi);

		pi.getRootToken().signal();

		jbpmContext.close();
	}

	// 查看/获取 任务(某人的、未完成的, 任务实例)列表
	@Test
	public void getTaskList() {
		String actorId = "客户";
		// String actorId = "商家";

		JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务

		List<TaskInstance> list = jbpmContext.getTaskList(actorId);
		// jbpmContext.getTaskMgmtSession().findTaskInstances(actorId);

		System.out.println("-----------> actorId = " + actorId);
		for (TaskInstance ti : list) {
			System.out.println("id=" + ti.getId()//
					+ ",name=" + ti.getName()//
					+ ",actorId=" + ti.getActorId()//
					+ ",create=" + ti.getCreate()//
					+ ",start=" + ti.getStart()//
					+ ",end=" + ti.getEnd());
		}

		jbpmContext.close();
	}

	private long taskInstanceId = 3;

	// 开始任务
	@Test
	public void startTask() {
		JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务

		TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
		ti.start();

		jbpmContext.close();
	}

	// 结束任务
	@Test
	public void endTask() {
		JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务

		TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
		ti.end();

		jbpmContext.close();
	}

}

 

分享到:
评论

相关推荐

    jbpm白皮书 介绍jbpm 入门

    ### jBPM 白皮书:介绍 jBPM 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...

    jbpm入门学习资料

    斯坦福特jbpm入门资料,内容不错,由浅入深,系统讲解了jbpm,是不错的入门资料噢

    jbpm入门例子收藏

    jbpm入门例子收藏 jBPM(Java Business Process Management)是一个开源的工作流管理系统,由JBoss组织开发。它主要用于管理业务流程,支持流程定义、执行、监控和优化。jBPM提供了一整套工具,包括Eclipse插件,...

    jbpm入门,详细文档,附小例子

    在jbpm入门过程中,首先需要理解的是它的核心概念: 1. **流程定义**:jbpm使用BPMN 2.0(Business Process Model and Notation)标准来定义流程。BPMN是一种图形化的语言,用于描述业务流程的逻辑,包括开始事件、...

    jbpm入门实践

    **jbpm入门实践** jbpm 是一款开源的工作流管理系统,主要用于设计、执行和管理业务流程。本文主要针对jbpm 5.2版本进行入门实践,适合初级用户学习。首先,我们要进行必要的安装与配置。 **一、jbpm的准备工作** ...

    jbpm 入门及帮助文档

    首先,"jBPM 开发入门指南"提供了一个系统性的引导,涵盖了jBPM的基本概念、安装配置、工作流设计、任务管理和事件处理等内容。它通常会讲解如何创建第一个流程定义,以及如何使用jBPM提供的工具进行流程建模。通过...

    jbpm入门案例.docx

    jBPM,全称Java Business Process Management,是一个由JBoss组织开发的开源工作流管理系统,主要负责业务流程的建模、执行和管理。它提供了一套完整的工具链,包括Eclipse插件,使得开发者能够方便地设计、部署和...

    jbpm的入门1--简单实例

    【jbpm的入门1--简单实例】 jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了完整的业务流程管理解决方案,包括流程设计、执行、监控和优化。本实例将带你初探jbpm的世界,通过一个...

    jbpm入门指南和开发指南

    《jbpm开发入门指南》和《jbpm开发指南》是两本针对jbpm框架的重要参考资料,对于初学者和有经验的开发者来说都是宝贵的资源。它们通常会涵盖以下核心知识点: 1. **jbpm概述**:介绍jbpm的基本概念,包括它的工作...

    jbpm开发入门指南的例子

    三、jbpm入门示例 在这个"myjbpm"压缩包中,你可能找到了一个简单的jbpm流程示例,通常包括以下组成部分: 1. 流程定义文件(.bpmn20.xml):用BPMN 2.0标准定义的流程图,描述了流程的任务和流转规则。 2. 图形文件...

    oa工作流jbpm入门开发

    本资源是oa办公自动化中工作流的插件,使用比较方面

    jbpm相关入门、配置

    jbpm入门** jbpm的入门学习通常从理解其核心概念开始,如流程定义(Process Definition)、任务(Task)、事件(Event)和工作流实例(Process Instance)。流程定义使用BPMN语言编写,通过jbpm提供的图形化编辑器...

    掌握的jBPM的入门教程.doc

    ### jBPM入门教程知识点详解 #### 一、jBPM简介与理解 - **jBPM**(**j**ava **B**usiness **P**rocess **M**odeling)是一个开源的工作流引擎,用于自动化业务流程。它不仅提供了一个灵活的流程执行引擎,还支持...

    工作流入门jbpm开发指南

    二、jbPM入门 1. **安装与配置**: 首先,你需要下载jbPM的最新版本并进行安装。通常,这包括获取jbPM工具集,如jbPM Workbench,用于图形化设计流程,以及jbPM服务仓库,用于运行流程实例。 2. **环境准备**: 为了...

    JBPM4.4入门开发实例

    **JBPM4.4入门开发实例** JBPM(Java Business Process Management)是一个开源的工作流程管理系统,专注于业务流程的建模、执行和监控。版本4.4是JBPM的一个早期版本,尽管现在已经有更新的版本,但这个入门实例...

    JBPM入门例子

    JBPM4.4 小例子,入门级别,下载后请修改jbpm.hibernate.cfg.xml数据库配置文件,运行http://localhost:port/workflowOfHoliday/leave?zzg=deploy,希望对大家有用

    jbpm例子代码(入门)

    **jbpm入门示例** 1. **安装与配置**:首先,你需要下载jbpm的最新版本并解压,然后配置相关的环境变量,如JAVA_HOME和JBOSS_HOME。同时,确保Maven或Gradle已安装,用于构建jbpm项目。 2. **创建第一个流程**:...

    jbpm的入门2--流程设计器的安装

    **jbpm入门第二步——流程设计器的安装** 在IT领域,`jbpm`(Java Business Process Management)是一款流行的工作流管理系统,它允许开发者设计、执行和管理业务流程。本篇将详细讲解如何安装并使用jbpm的流程设计...

    jbpm开发指南

    1.2 jBPM入门套件 入门套件提供了一个完整的开发环境,包括预配置的Jboss应用服务器、图形化流程设计工具(eclipse插件)、数据库兼容包、核心jBPM组件以及BPEL扩展参考。预配置的服务器集成了核心jBPM服务、集成...

Global site tag (gtag.js) - Google Analytics