返回顶部
首页 > 资讯 > 精选 >jbpm使用要点
  • 906
分享到

jbpm使用要点

2023-06-03 08:06:18 906人浏览 八月长安
摘要

作者:gagaghost Email:gagaghost@gmail.com流程流转方式:在一个流程实例化后,流程的节点就会自动进入启动节点,如果要离开启动节点,必须调用signal()的方法.调用该方法后,流程会进入后续节点,也即进入st

作者:gagaghost Email:gagaghost@gmail.com

流程流转方式:

在一个流程实例化后,流程的节点就会自动进入启动节点,如果要离开启动节点,必须调用signal()的方法.调用该方法后,流程会进入后续节点,也即进入stateOne节点,如果再signal()一次,执行的指针将会指向task1,如过再signal()一次,执行指针就会离开task1节点,移动到下一个节点,而下一个节点正好是end节点, 流程就会终止。当然在task的AssignmentHandle中用TaskInstance.end()方法也可以的。

特别需要说明的是:如果Task node上没有任务,则执行指针就会自动经过该节点执行到下一个节点.如果task1上没有任务,则在stateOne上调用了signal()后,流程就会结束.

如何取出一个用户的任务列表?

要取出用户的任务列表,必须保证流程已经持久在数据库中了,就可以用如下的语句进行提取了:

JbpmConfiguration config = JbpmConfiguration.getInstance();

JbpmContext jbpmContext = config.createJbpmContext();

TaskMgmtSession session=new TaskMgmtSession(jbpmContext.getSession());

List tasks=session.findTaskInstances("gaga");

如何把一个任务安排给用户?

在Task node上添加Task,并添加AssignmentHandler,在

public class TaskAsignMent implements AssignmentHandler {

public void assign(Assignable assignable, ExecutionContext executionContext)

throws Exception {

assignable.setActorId("gaga");// assignable就是工作项

}

}

泳道(Swimlane)如何使用?

泳道就是用来描述角色的.如果你的某些工作项目是角色来操作的,就可以使用泳道.泳道有点批处理的意思,如果有多个节点是某个角色的用户来完成的,就需要使用这个东西了,否则在每一个任务上设置AssignmentHandler会累死人的^_^!

如何将一个任务安排给用户?

在任务上设置一个AssignmentHandler,在其execute方法中进行设置,和在任务节点上设置用户的方法一样.只不过这里是泳道而已.

如何将流程和要流转的业务系统中的数据结构关联起来?

在流程启动的时候,在流程中放一个变量,该变量中存放外部数据结构的id.当用户得到工作列表的时候,就会取出流程实例中的id,有了id就可以在业务数据库中取出业务数据了.

如何区分在一个任务列表中不同节点上的处理界面?

建立一个节点和界面对应的表即可,用户选定了任务后,系统根据用户选定任务的节点的名称或其他唯一标识符,找出与之对应的界面导航连接后,redirect到该页面即可.

如何图形化显示当前流程的状态?

写一个servlet,将图形显示出来就可以了,如:

public class ProcessImageServlet extends httpservlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

long processDefinitionId = Long.parseLong( request.getParameter( "definitionId" ) );

JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();

ProcessDefinition processDefinition = jbpmContext.getGraphSession().loadProcessDefinition(processDefinitionId);

byte[] bytes = processDefinition.getFileDefinition().getBytes("processimage.jpg");

OutputStream out = response.getOutputStream();

out.write(bytes);

out.flush();

// leave this in.it is in case we want to set the mime type later.

// get the mime type

// String contentType = URLConnection.getFileNameMap().getContentTypeFor( fileName );

// set the content type (=mime type)

// response.setContentType( contentType );

}

}

在创建数据库表时出现的错误

JbpmConfiguration config = JbpmConfiguration

.parseResource("jbpm.cfg.xml");

config.createSchema();

config.close();

提示语法错误,更新了hibernate最新版本的就可以。

hibernate-3.1.3,jbpm

如何向指定的分支流转?

用TaskInstance的end方法,如下所示:

JbpmConfiguration config = JbpmConfiguration.getInstance();

JbpmContext jbpmContext = config.createJbpmContext();

TaskInstance taskInstance=jbpmContext.getTaskMgmtSession().loadTaskInstance(taskId);

String offshoot="" + param.get(Constant.OFFSHOOT);

//taskInstance.end(offshoot);

taskInstance.end();

jbpmContext.save(taskInstance);

jbpmContext.close();

[@more@]

--结束END--

本文标题: jbpm使用要点

本文链接: https://lsjlt.com/news/233604.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jbpm使用要点
    作者:gagaghost Email:gagaghost@gmail.com流程流转方式:在一个流程实例化后,流程的节点就会自动进入启动节点,如果要离开启动节点,必须调用signal()的方法.调用该方法后,流程会进入后续节点,也即进入st...
    99+
    2023-06-03
  • 重要的MySQL锁使用要点
    MySQL 锁的使用注意事项锁是数据库管理系统中用于保护数据完整性和并发控制的重要机制。在MySQL中,锁的使用是非常常见的,但是如果不注意一些细节,就可能导致性能问题或者数据不一致的情况发生。本文将介绍MySQL锁的使用注意事项,并提供具...
    99+
    2023-12-21
    注意事项 使用注意事项 MySql锁
  • 使用redis的要点分析
    这篇文章将为大家详细讲解有关使用redis的要点分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、导语Redis(Remote Dictionary Server )...
    99+
    2024-04-02
  • Oracle别名使用要点小结
    目录一:使用别名的好处二:测试小结总结今天在写一个简单的SQL语句并执行时抛出了如下图所示的一个错误提示信息! 恩,此异常信息很明显,在SQL语句中标示符的长度过长了,简短一些就应...
    99+
    2024-04-02
  • python 装饰器的使用与要点
    目录一、装饰器使用场景二、为什么需要装饰器1、先来看一个简单例子:2、增加需求3、又有需求三、基础装饰器入门1、装饰器语法糖2、对带参数的函数进行装饰3、函数参数数量不确定4、装饰器带参数5、functools.wr...
    99+
    2022-06-02
    python 装饰器使用 python 装饰器要点
  • 使用PHP读取XML(要点速记)
    PHP有许多函数可用于读取XML文件。其中一种方法是使用SimpleXML函数。 首先,你需要使用PHP的file_get_contents函数读取XML文件的内容,然后使用simplexml_load_string函数将其转换为Simpl...
    99+
    2023-09-03
    php xml apache
  • PHP使用技巧的要点有哪些
    这篇文章将为大家详细讲解有关PHP使用技巧的要点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。程序员们对于PHP语言的学习还在不断的进步着。我们应当在实际的代码编写中不断的积累经验来完...
    99+
    2023-06-17
  • golang基础之waitgroup用法以及使用要点
    目录一、前言二、waitgroup使用示例三、waitgroup使用注意事项四、waitgroup使用总结附:陷阱避免总结一、前言 waitgroup在golang中,用于线程同步,...
    99+
    2023-01-07
    golang waitGroup golang waitgroup用法 golang waitGroup 限制个数
  • 总结Python编程中函数的使用要点
    为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函数对象并将其赋值给一...
    99+
    2022-06-04
    函数 要点 Python
  • android开发中ListView与Adapter使用要点介绍
    1. Adapter.getView() public View getView(int position, View convertView , ViewGroup pare...
    99+
    2022-06-06
    adapter listview android开发 Android
  • 使用Visual Studio 2010 RC注意要点有哪些
    这篇文章给大家分享的是有关使用Visual Studio 2010 RC注意要点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用Visual Studio 2010 RC版本时,发现了一个小问题,需要引...
    99+
    2023-06-17
  • 使用PHP内置SOAP要点的示例分析
    今天就跟大家聊聊有关使用PHP内置SOAP要点的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。对于刚刚接触PHP语言的新手来说,对于PHP内置SOAP可能还是了解的不太多。P...
    99+
    2023-06-17
  • 浅谈React Refs 使用场景及核心要点
    目录什么是 Refs?使用方式Refs 核心要点避免重复创建 ref 内容ref.current 存储的内容修改是突变ref 作为数据存储时内容的变化不会引起 re-renderre...
    99+
    2024-04-02
  • java请求方式使用要注意哪些点
    在使用Java进行请求发送时,需要注意以下几个点:1. 请求方法:根据需求选择合适的请求方法,常见的请求方法有GET、POST、PU...
    99+
    2023-08-25
    java
  • 如何理解Java EE工作流管理系统jBPM的FORK中节点同步功能
    本篇文章给大家分享的是有关如何理解Java EE工作流管理系统jBPM的FORK中节点同步功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在Java EE工作流管理系统jBP...
    99+
    2023-06-17
  • 使用Redis时必须注意的要点有哪些
    小编给大家分享一下使用Redis时必须注意的要点有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Redis的使用规范1....
    99+
    2024-04-02
  • 实例讲解Android应用开发中TabHost的使用要点
    Tab与TabHost: 这就是Tab,而盛放Tab的容器就是TabHost 。 如何实现?? 每一个Tab还对应了一个布局,这个就有点好玩了。一个Activity,对应...
    99+
    2022-06-06
    tabhost Android
  • MySQL ACID 要点
    acid 属性在数据库管理中至关重要,可确保数据的完整性和一致性。本简短指南通过关键示例介绍了 mysql 中 acid 的基础知识。 原子性 将事务语句视为一...
    99+
    2024-07-23
    mysql
  • Python使用Mechanize模块编写爬虫的要点解析
    mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web访问控制方面做得更全面。结合beautifulsoup和re模块,可以有效的解析web页面,我比较喜欢这种方法。 ...
    99+
    2022-06-04
    爬虫 要点 模块
  • Android App使用SQLite数据库的一些要点总结
    /DATA/data/包名/databases是该程序存放数据的目录,DATA是Environment.getDataDirectory() 方法返回的路径。找到数据库之后可以...
    99+
    2022-06-06
    app sqlite数据库 SQLite Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作