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 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...
斯坦福特jbpm入门资料,内容不错,由浅入深,系统讲解了jbpm,是不错的入门资料噢
jbpm入门例子收藏 jBPM(Java Business Process Management)是一个开源的工作流管理系统,由JBoss组织开发。它主要用于管理业务流程,支持流程定义、执行、监控和优化。jBPM提供了一整套工具,包括Eclipse插件,...
在jbpm入门过程中,首先需要理解的是它的核心概念: 1. **流程定义**:jbpm使用BPMN 2.0(Business Process Model and Notation)标准来定义流程。BPMN是一种图形化的语言,用于描述业务流程的逻辑,包括开始事件、...
**jbpm入门实践** jbpm 是一款开源的工作流管理系统,主要用于设计、执行和管理业务流程。本文主要针对jbpm 5.2版本进行入门实践,适合初级用户学习。首先,我们要进行必要的安装与配置。 **一、jbpm的准备工作** ...
首先,"jBPM 开发入门指南"提供了一个系统性的引导,涵盖了jBPM的基本概念、安装配置、工作流设计、任务管理和事件处理等内容。它通常会讲解如何创建第一个流程定义,以及如何使用jBPM提供的工具进行流程建模。通过...
jBPM,全称Java Business Process Management,是一个由JBoss组织开发的开源工作流管理系统,主要负责业务流程的建模、执行和管理。它提供了一套完整的工具链,包括Eclipse插件,使得开发者能够方便地设计、部署和...
【jbpm的入门1--简单实例】 jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了完整的业务流程管理解决方案,包括流程设计、执行、监控和优化。本实例将带你初探jbpm的世界,通过一个...
《jbpm开发入门指南》和《jbpm开发指南》是两本针对jbpm框架的重要参考资料,对于初学者和有经验的开发者来说都是宝贵的资源。它们通常会涵盖以下核心知识点: 1. **jbpm概述**:介绍jbpm的基本概念,包括它的工作...
三、jbpm入门示例 在这个"myjbpm"压缩包中,你可能找到了一个简单的jbpm流程示例,通常包括以下组成部分: 1. 流程定义文件(.bpmn20.xml):用BPMN 2.0标准定义的流程图,描述了流程的任务和流转规则。 2. 图形文件...
本资源是oa办公自动化中工作流的插件,使用比较方面
jbpm入门** jbpm的入门学习通常从理解其核心概念开始,如流程定义(Process Definition)、任务(Task)、事件(Event)和工作流实例(Process Instance)。流程定义使用BPMN语言编写,通过jbpm提供的图形化编辑器...
### jBPM入门教程知识点详解 #### 一、jBPM简介与理解 - **jBPM**(**j**ava **B**usiness **P**rocess **M**odeling)是一个开源的工作流引擎,用于自动化业务流程。它不仅提供了一个灵活的流程执行引擎,还支持...
二、jbPM入门 1. **安装与配置**: 首先,你需要下载jbPM的最新版本并进行安装。通常,这包括获取jbPM工具集,如jbPM Workbench,用于图形化设计流程,以及jbPM服务仓库,用于运行流程实例。 2. **环境准备**: 为了...
**JBPM4.4入门开发实例** JBPM(Java Business Process Management)是一个开源的工作流程管理系统,专注于业务流程的建模、执行和监控。版本4.4是JBPM的一个早期版本,尽管现在已经有更新的版本,但这个入门实例...
JBPM4.4 小例子,入门级别,下载后请修改jbpm.hibernate.cfg.xml数据库配置文件,运行http://localhost:port/workflowOfHoliday/leave?zzg=deploy,希望对大家有用
**jbpm入门示例** 1. **安装与配置**:首先,你需要下载jbpm的最新版本并解压,然后配置相关的环境变量,如JAVA_HOME和JBOSS_HOME。同时,确保Maven或Gradle已安装,用于构建jbpm项目。 2. **创建第一个流程**:...
**jbpm入门第二步——流程设计器的安装** 在IT领域,`jbpm`(Java Business Process Management)是一款流行的工作流管理系统,它允许开发者设计、执行和管理业务流程。本篇将详细讲解如何安装并使用jbpm的流程设计...
1.2 jBPM入门套件 入门套件提供了一个完整的开发环境,包括预配置的Jboss应用服务器、图形化流程设计工具(eclipse插件)、数据库兼容包、核心jBPM组件以及BPEL扩展参考。预配置的服务器集成了核心jBPM服务、集成...