jbpm数据库说明
- 格式:docx
- 大小:113.96 KB
- 文档页数:21
JBPM4.4应用开发——入门篇2010-10-27 20:38:24标签:JBPM工作流工作流程入门原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。
否则将追究法律责任。
/1931202/411612首先简单说说JBPM——java Business Process Management (java 业务流程管理)jBPM是一个框架、一堆开放的源代码。
而非一套“应用程序”。
jBPM的流程引擎可以看做是一个java工程——若干java类、依赖库和配置文件;使用和学习jBPM需要如下条件:1.jBPM的流程定义和运行时的上下文需要被存储到关系型数据库中——可以是基于调试目的的内存数据库HSQLDB,也可以是真正的持久化数据库(MySql,Oracle,PostgreSql,Sybase等等);2.jBPM的流程设计一般都需要一个基于客户端的图形化流程设计器软件,当然在jBPM4版本以后可以支持在web上做流程设计(这要归功于Sigvio项目)3.最终,基于jBPM开发出来的应用程序一般都会被部署到一台应用服务器中,以便服务于来自web的访问、监控和管理等。
注意:在jBPM4.3以后,几乎所有的准备工作(安装数据库,建表,安装应用服务器,安装图形化设计器插件等)jBPM软件包的发布者都帮我们做好了。
只要通过Ant脚本“一键获取”所需要的jBPM4整套开发、运行和管理环境。
在安装jBPM之前首先要安装JDK和Ant。
快速开始--------------------------------------------------------一、1.打开cmd命令控制台:进入到${jbpm.home}/install2.运行脚本:ant demo.setup.tomcat或ant.demo.setup.jboss使用这两个服务器都可以。
具体这个命令做了上面事:请查看install目录下的build.xml文件中的目标。
Jbpm数据库流程定义和流程执行都会持久化到数据库中,所以我们需要在数据库中创建所需的数据库表.共有18张表,分五个部分。
流程部署名称详情JBPM4_DEPLOYMENT流程定义表流程定义的部署记录。
发布一次流程后会添加一条记录,流程的具体属性存放在JBPM4_DEPLOYPROP中JBPM4_DEPLOYPROP流程定义属性表已部署的流程定义的具体属性。
发布一次流程后会添加多条记录,一条jbpm4_deployment记录需要对应4条jbpm4_deployprop记录,他们的key字段分别为langid(标识解析流程定义使用的jpdl的版本),pdid(流程定义的id),pdkey(流程的key,标识同一类流程),pdversion(流程的版本)JBPM4_LOB 存储表流程定义的相关资源。
部署一个流程时,此表中会添加多条记录,分别对应JPDL_XML ,图片, 用户代码JAVA 类等,它们以二进制的格式统一存储在此表中。
发布demo流程之后jbpm4_deployment新增一条记录jbpm4_deployprop新增三条记录jbpm4_LOB新增两条记录用户认证表JBPM实现的用户库比较简单,可以实现并扩展其相关接口,并进行认证库独立。
名称详情JBPM4_ID_GROUP组表用户组相关信息JBPM4_ID_MEMBERSHIP用户角色表用户组和用户的关系表JBPM4_ID_USER 用户表用户相关信息表流程实例运行相关表名称详情JBPM4_EXECUTION流程实例表记录流程实例运行必须的信息。
JBPM4_TASK任务表流程实例的任务信息。
存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task。
JBPM4_PARTICIPATION 参与者表流程实例的任务参与人信息。
而具体的Participation既可以是单一用户,也可以是用户组JBPM4_V ARIABLE 上下文表传给流程实例的变量的相关信息。
jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。
jBPM是公开源代码项目,它使用要遵循 Apache License。
jBPM在2004年10月18日,发布了3.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。
随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。
jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。
jPdl认为一个商务流程可以被看作是一个UML状态图。
jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。
Hibernate是目前Java领域最好的一种数据持久层解决方案。
通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。
J2EE工作流管理系统jBPM详解(一)一、jBPM入门简介概述工作流业务流程管理技术是基于SOA技术实现的一个核心部分。
使用工作流能够在软件开发和业务两个层次受益:1、方便开发工作流管理系统能够简化企业级软件开发甚至维护。
◆降低开发风险 - 通过使用状态和动作这样的术语,业务分析师和开发人员使用同一种语言交谈。
这样开发人员就不必将用户需求转化成软件设计了。
◆实现的集中统一 -业务流程经常变化,使用工作流系统的最大好处是:业务流程的实现代码,不再是散落在各种各样的系统中。
◆加快应用开发 - 你的软件不用再关注流程的参与者,开发起来更快,代码更容易维护。
jbpm-⼯作流的基本操作删除流程实例:Jbpm流程引擎定义:jbpm,全称是Java Business Process Management(业务流程管理),他是覆盖了业务流程管理,⼯作流管理,服务协作等领域的⼀个开源的,灵活的,易扩展的可执⾏的流程语⾔框架作⽤:jbpm的流程框架⾮常灵活,使⽤起来也⾮常安全,降低开发的风险,同时jbpm拥有⾃⼰的图形化开发⼯具,⾮常⽅便随时了解和掌握运⾏的进程Jbpm的开发步骤:1、引⼊jbpm 4.4 jar2、引⼊jbpm.cfg.xml、jbpm.hibernate.cfg.xml核⼼配置⽂件如图:Jbpm.cfg.xml 配置:<?xml version="1.0" encoding="UTF-8"?><jbpm-configuration><import resource="jbpm.default.cfg.xml" /><import resource="jbpm.businesscalendar.cfg.xml" /><import resource="jbpm.tx.hibernate.cfg.xml" /><import resource="jbpm.jpdl.cfg.xml" /><import resource="jbpm.bpmn.cfg.xml" /><import resource="jbpm.identity.cfg.xml" /><!-- Job executor is excluded for running the example test cases. --><!-- To enable timers and messages in production use, this should be included. --><!--<import resource="jbpm.jobexecutor.cfg.xml" />--></jbpm-configuration>Jbpm.hibernate.cfg.xml 配置:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///jbpm</property><property name="ername">root</property><property name="hibernate.connection.password">123456</property><property name="hibernate.hbm2ddl.auto">update</property><property name="hibernate.format_sql">true</property><property name="hibernate.show_sql">true</property><mapping resource="jbpm.repository.hbm.xml" /><mapping resource="jbpm.execution.hbm.xml" /><mapping resource="jbpm.history.hbm.xml" /><mapping resource="jbpm.task.hbm.xml" /><mapping resource="jbpm.identity.hbm.xml" /></session-factory></hibernate-configuration>Log4j.properties 配置:### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.erryout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=c:/mylog.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout3、创建表结构(有18张表)4、/**5、 * 使⽤jbpm ⽅式创建表结构 18张表6、 */7、public void createTable()8、 {9、 org.jbpm.api.Configuration.getProcessEngine();}流程引擎的使⽤步骤:1 、部署流程实例:1、public void deploy()2、 {3、//通过Configuration 类构建流程引擎对象4、 ProcessEngine processEngine = Configuration.getProcessEngine();5、6、//获取RepositoryService 接⼝服务7、 RepositoryService repositoryService = processEngine.getRepositoryService(); 8、9、//发布的⽅式:零散发布10、 repositoryService.createDeployment()11、 .addResourceFromClasspath("jbpm_test.jpdl.xml")12、 .addResourceFromClasspath("jbpm_test.png")13、 .deploy();14、 }其他发布⽅式:2、启动流程实例:public void startProcessInstanceByKey(){//通过Configuration 类构建流程引擎对象ProcessEngine processEngine = Configuration.getProcessEngine();//获取ExecutionService 对象ExecutionService executionService = processEngine.getExecutionService();executionService.startProcessInstanceByKey("jbpm_test"); //key 默认为流程⽂件名称 }3、查询个⼈任务ProcessEngine processEngine = Configuration.getProcessEngine();TaskService taskService = processEngine.getTaskService();List<Task> list = taskService.findPersonalTasks("员⼯");for(Task t:list){System.out.println("任务编号:"+t.getId());System.out.println("任务名称:"+t.getName());}4、办理个⼈任务public void personalComplete(){ProcessEngine processEngine = Configuration.getProcessEngine();TaskService taskService = processEngine.getTaskService();pleteTask("50002"); //任务id}流程变量设置:public void taskComplete(){TaskService taskService = Configuration.getProcessEngine().getTaskService();Map<String, User> userMap = new HashMap<String, User>();User user = new User();user.setDay(2);user.setName("⼩明");userMap.put("user", user);//办理业务并设置流程变量taskService.setVariables("240002", userMap);pleteTask("240002");}流程引擎ProcessEngine 的六⼤服务接⼝:流程引擎processEngine 对象的获取:通过Configuration 类的构建如:ProcessEngine processEngine = Configuration.getProcessEngine();1、 RepositoryService 接⼝(流程资源服务):RepositoryService service= processEngine.getRepositoryService()作⽤:提供对流程的部署、删除、查询和流程图的查看操作。
JBPM数据库表说明1 流程配置类数据库表:1.1 JBPM_PROCESSDEFINITION:流程模版表1.2 JBPM_NODE:流程节点表1.3 JBPM_TRANSITION:流程迁移表1.4 JBPM_ACTION:流程动作表1.5 JBPM_EVENT:流程事件表1.6 JBPM_DELEGATION:流程代办署理类表〔用于实例化jbpm 中的action类〕1.7 JBPM_TASK:流程任务表1.8 JBPM_TASKCONTROLLER:流程任务控制器1.9 JBPM_VARIABLEACCESS:流程变量表1.10 JBPM_MODULEDEFINITION:流程模块定义表JBPM_EXCEPTIONHANDLER:流程异常处置器表1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表1.13 JBPM_ SWINLANE:DECISION节点判断条件表2 流程运行类数据库表:2.1 JBPM_PROCESSINSTANCE:流程实例表JBPM_TOKEN:流程TOKEN表2.3 JBPM_LOG:流程日志表2.4 JBPM_RUNTIMEACTION:流程实时ACTION表2.5 JBPM_VARIABLEINSTANCE:流程变量实例表2.6 JBPM_COMMENT:流程备注信息表2.7 JBPM_MESSAGE:流程异步动静表2.8 JBPM_TIMER:流程按时器表2.9 JBPM_TOKENVARIABLEMAP:流程TOKEN变量MAP表2.10 JBPM_MODULEINSTANCE:流程模块实例表2.11 JBPM_BYTEARRAY:文件模块形式的流程变量实例表2.12 JBPM_BYTEBLOCK:。
第1介绍JBOSS jBPM是一个灵活的、可扩展的工作流管理系统。
JBOSS jBPM拥有直观的流程语言,用任务、异步的等待状态、定时器、自动化动作…等来表示业务流程图,把这些操作绑定在一起,JBOSS jBPM就拥有了非常强大和可扩展的控制流机制。
JBOSS jBPM只有最小的依赖,可以象使用java库一样非常容易的使用它。
另外,也可以通过把它部署在J2EE集群应用服务器中,用在吞吐量极为关键的环境中。
JBOSS jBPM可被配置为任何数据库,并且可以部署到任何应用服务器。
1.1 概述核心工作流和BPM功能被打包为一个简单的java库,这个库包括一个存储到数据库、从数据库更新和获取流程信息的服务。
图1.1 JBOSS jBPM组件概观1.2 JBOSS jBPM入门套件入门套件是一个包含了所有jBPM组件的下载包,包括:l Jbpm-server,一个预配置好的jboss应用服务器。
l Jbpm-designer,图形化设计jBPM流程的eclipse插件。
l Jbpm-db,jBPM数据库兼容包(见下文)。
l Jbpm,核心jbpm组件,包括库和本指南。
l Jbpm-bpel,JBOSS jBPM BPEL扩展参考。
预配置好的JBOSS应用服务器安装了下列组件:l核心的jBPM组件,被打包为了一个服务档案。
l一个包括jBPM库表的集成数据库:默认的hypersonic数据库包含了jBPM表,另外还包含一个流程。
l jBPM控制台web应用程序,可以由流程参与者使用,也可以由jBPM管理员使用。
l jBPM调度程序,用于定时器执行。
调度程序在入门套件中被配置为一个servlet,这个servlet 将产生一个线程来监视和执行定时器。
l jBPM命令执行器,用于命令的异步执行。
命令执行器也被配置为一个servlet,这个servlet 将产生一个线程来监视和执行命令。
l一个流程实例,已经被部署到了jBPM数据库中。
JBPM4.1学习尹伟为一、搭建开发环境1.首先下载eclipse最新版和jbmp4.1,分别解压缩到某目录下,以下称该目录为JBPM_HOME。
2.运行eclipse,window Preferences配置user libraries,将JBPM_HOME下的jbpm.jar添加进去,并将JBPM_HOME\src目录source attach到jbpm.jar;再将JBPM_HOME\lib目录下的所有jar文件都添加到jbpm libraries下,如下图给工程配置jbpm libraries,3. 安装流程设计器GPD 插件,Help --> Install New Software...,如下图,选择JBPM_HOME\install\src\gpd\jbpm-gpd-site.zip ,这里可能会花费一定的时间,等着吧。
完成后重起eclipse,就可以在eclipse中可视化地设计流程,如下图4.配置jbpm runtime,指定runtime location到JBPM_HOME目录如下图5.添加jPDL 4 schema,将jbpm\src下的jpdl-4.0.xsd添加到XML Catalog,如下图二、Signavio基于web的流程编辑器JBPM_HOME/install/src/signavio目录下有jbpmeditor.war,这就是signavio的web应用。
里面的web.xml 中有一项fileSystemRootDirectory的配置,指定流程文件编辑保存后的存放目录,修改后部署到tomcat中即可。
也可以通过ant任务来部署ant -Dsignavio.repo.path=d:/java/jbpm-4.1/signavio-repo install.signavio.into.tomcat其中signavio.repo.path也是指定流程文件的存放目录。
注:因为我在使用jbpm控制台调试官方给的带有task-form的例子的时候,总是提示事务不能提交或者回滚一类的错误,于是就看了一下官网的相关内容。
以下的内容我是翻译的官方文档,英语不好,见谅。
jBPM允许持久存储某些信息,下面的内容描述了不同类型的持久性,以及如何配置它们。
一个例子:存储流程运行时状态的信息。
如果出现了错误,为了能够在任何啥时候继续执行流程实例,存储流程的运行时状态是很必要的。
当然。
流程定义本身和一些历史日志信息也能被持久化的存储。
1. 运行时状态当一个流程开始时,一个流程实例(代表在指定的上下文对象中执行的流程)会被创建。
比如说,当执行一个流程,指定如何处理一个订单,对于每一个订单请求将创建一个流程实例。
流程实例代表流程在特定的上下文中当前的执行状态,并且包含了该流程实例的所有的相关信息。
注意,它只包含最小的运行时状态,因为在流程实例后续的执行过程中需要这些信息,不包括流程实例的历史日志信息。
一个执行中流程的运行状态可以被持久化到数据库中。
在意外失败的情况下,这允许恢复所有正在运行的流程的执行状态,或暂时从内存中删除正在运行的实例并在以后恢复他们。
JBPM允许你使用不同的持久化策略。
默认情况下,如果你不配置流程引擎的话,流程实例将不会持久化。
如果你配置了引擎来进行持久化,它将自动存储运行的状态到数据库里。
你不需要手动的去触发这个持久化操作,流程引擎将注意持久化操作是否可以进行。
当你使用流程引擎时,它将确保在最后的调用操作上保存任何变化,称之为安全点。
当遇到一个错误时,你可以从数据库恢复流程引擎,当然,你也不需要重新加载流程实例,不需要手工的去恢复执行,因为流程实例被触发时,会自动的恢复执行。
比如说,一个计时器到期时,会请求流程实例的任务完成操作, ,或者发送一个信号到流程实例。
引擎将自动重新加载流程实例在需要的时候。
运行时持久化的数据应该是内部数据,你不应该直接去访问和修改这些数据。
1 前台页面 (2)1.1前台总览: (2)1.2常用节点图标说明: (2)1.3前台操作: (3)2 后台设计 (4)2.1 Myeclipse配置JBPM4 (4)2.2 Jar包引入: (6)2.3 在项目中加入jbpm的配置文件: (6)2.4 后台接收说明: (6)2.5 后台处理说明: (7)3 Jbpm说明: (8)3.1 Jbpm常用的对象与方法: (8)3.2 流程的发布有以下几种方式: (8)3.3 流程开始: (9)3.4 处理人获得任务列表: (9)3.5 处理人结束任务 (9)4 补充: (10)4.1 用java类来动态指定处理人: (10)4.2 用java类来作判定条件: (11)4.3 流程中的变量 (12)4.3.1 流程实例变量的创建与获取: (12)4.3.2 任务实例变量的创建: (12)4.3.3 变量总结: (13)1 前台页面1.1前台总览:1.2常用节点图标说明:1.开始(start)节点,表示一个流程的开始,name属性作用主要是匹配节点流向。
2.任务(task)节点,表示流程执行的任务处理节点。
task节点属性有name(任务节点的名称),assignee(任务节点的执行人),g(节点坐标)。
其中name属性作用主要是匹配节点的流向;assignee属性有5中表达方式1、none这种表达方式就是不指定任务的执行人,一般会有动态指定,在task中加<assignment-handler class="com.yhte.GetAssignee"></assignment-handler>用class中java类来动态指定执行人。
2、assignee 可以指定特定的一个人,也可以用表达式来指定,表达式一般写作#{name}。
3、candidate-groups 指定了一个组来执行,指定了组中的每个成员都可以来执行此任务节点,但只要其中一个成员完成,那么这个任务节点便结束。
jBPM,全称是Java Business Process Management,是一种基于J2EE 的轻量级工作流管理系统。
一、介绍下大背景工作流的应用市场部分内容就不提了。
首先提一下目前工作流域的两种主流方向1、workflow 。
代表osworkflow 等。
workflow 的特点为:其主要侧重于对流程的处理模型方面,也就是说它关注的重心是流程的处理2、BPM商业逻辑流程模型BPM的重心为商业逻辑流程模型的处理其中以JBPM为代表这是两者最大的区别,也就是切入点不同。
不过对我们实际应用来说,选哪个区别都不是很大说到工作流就要提到WFM组织,这个组织是国际上一些厂商组成的一个工作流的组织,该组织给出了一个他们自己定义的工作流的定义,及XPDL语义。
该定义将工作流的定义包括为至少以下五部分内容:1、工作流过程活动2、转移信息3、参与者声明4、外部应用程序声明5、相关数据并给出了标准的语法来描述上述元数据1:workflow process2:activity3:transition4:application5:date field由于JBPM不符合上述语法定义,因此JBPM是不符合该WFM规范的不过上述每部分内容在JBPM都有自己的定义来描述二、JBPM流程的一个基本的处理步骤1、加载(发布)流程定义2、启动流程3、处理任务4、记录流程的相关状态1、加载(发布)流程定义这个意思是,我们通过jbpm 的designer 插件,或者是用其他工具,制定出processDefinition (可以是String ,可以是包文件,也可以是流数据等),然后将其加载到应用中的过程。
这个加载可以是写入内存中,或者是直接写入数据库等2、启动流程即processDefinition.createProcessInstance() ,创建流程实例的过程。
具体创建实例的方法有多种,可根据自己的需要自行选择。
3、处理任务在流程流转的过程中,JBPM引擎会为我们生成任务的实例,我们就需要针对这些任务实例来进行处理,然后结束这些任务实例,并推动流程的流转4、记录流程的相关状态记录流程状态这点包括且不限于以下内容:1)流程实例的开启2)任务实例的创建3)任务实例的开始执行4)任务实例的结束5)流程实例的结束三、JBPM工作流的主要概念1、流程定义(process definition): 预先定义的业务逻辑2、流程实例(process instance): 业务的实际流转过程3、参与者(actor): 任务的参与者(可能是人也可能是角色或是组织等)4、任务(task): 业务逻辑上,会呈现给参与者处理的元素5、任务实例(task instance): 业务实际流转过程中,生成的需要参与者进行参与的实际内容6、流转(transition): 连接业务逻辑不同节点的桥梁,也是业务实例进行流转的依据7、工作流引擎(engine): 核心组件,负责生成流程运行时的各种实例及数据,以及监视和管理流程的运行8、工作列表: 根据实际应用的需求,需要展示给参与者的任务实例列表// 待办任务列表为其最具代表性的例子jBPM是公开源代码项目,它使用要遵循Apache License。
jBPM在2004年10 月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。
随着jBPM加入JBoss 组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。
jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC s XPDL, BPML, ebXML, BPEL4WS,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl) 。
jPdl 认为一个商务流程可以被看作是一个UML犬态图。
jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。
Hibernate是目前Java领域最好的一种数据持久层解决方案。
通过Hibernate , jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。
1流程配置类数据库表:1.1JBPM_PROCESSDE FINITION :流程模版表1.2 JBPM_NODE :流程节点表1.3JBPM_TRANSITION :流程迁移表1.4JBPM ACTION :流程动作表1.5JBPM_EVENT :流程事件表流程事件所在的图形节点类 型"K" : TaskNode"1.6 JBPM_DELEGATION :流程代理类表(用于实 例化jbpm 中的action 类)TYPE_GRAPHELEMENT_ PROCESSDEFINITION NODE_ TRANSITION TASK_流程事件所在的图形节点的ID流程事件所属流程定义,对应JBPM_PROCESSDEFINITION流程事件所属节点,对应JBPM_NODE流程事件所属迁移,对应JBPM_ TRANSITION流程事件所属任务,对应1.7 JBPM TASK :流程任务表1.8JBPM_TASKCONTROLLER :流程任务控制器1.9JBPM VARIABLEACCESS :流程变量表1.10J BPM_MODULEDEFINITION :流程模块定义表1.11JBPM_EXCEPTI0NHANDLER :流程异常处理器表:DECISION 1.12 JBPM_DECISIONCONDITION节点判断条件表1.13 JBPM_ SWINLANE: DECISION 节点判断条件表2流程运行类数据库表:2.1 J BPM_PROCESSINSTANCE :流程实例表2.2J BPM_TOKEN :流程TOKEN 表2.3 JBPM_LOG :流程日志表INDEX_ DATE TOKEN PARENT_CHILD_MESSAGE. EXCEPTION A: Action LogB: ByteArrayUpdateLogC: CompositeLogD: VariableDeleteLog E: DateUpdateLogF:Hiber nateStr in gUpdateLogG: Lon gUpdateLogI:ProcessI nsta nceCreateLogL: DoubleUpdateLogM: MessageLogN: NodeLogO: Toke nCreateLogP: ProcessLogR: VariableCreateLog S:Sign alLogT: Transition LogU: Strin gUpdateLogV: VariableLog |W: VariableUpdateLog X:Process In sta nceE ndLogY: Toke nEn dLog ~|0: TaskLog1: TaskCreateLog2: TaskAssig nLog3: TaskE ndLog4: Swimla neLog |5: Swimla neCreateLog6: Swimla neAssig nLog?日志产生时间日志所属TOKEN日志的父日志,对应JBPM_LOG创建的子TOKEN,对应Toke nCreateLog |结束的子TOKEN,对应TokenEndLog消息信息,当日志类型为M (MessageLog )时使用日志异常信息,对应Action Log2.4 JBPM_RUNTIMEACTION :流程实时ACTION 表"A" : Task"C":Processstate "D" :Decision""E":EndState" "F" :Fork" "J" :Join" "K" :TaskNode" "N" :Node"]"P":ProcessDefi niti on" "R" :StartState" "S" :State""T":Tran siti on" "U" :SuperState"2.5 J BPM_VARIABLEINSTANCE :流程变量实例表GRAPHELEMENT_ PROCESSINSTANCE_ACTIONPROCESSINSTANCEINDEX实时ACTION 所在的图形 节点的ID实时ACTION 所在的流程' 实例,对应JBPM PROCESSINSTANCE1 实时ACTION 对应的 ACTION ,对应JBPM ACTION?NAMETYPE_ CONVERTER. TOKEN TOKENVARIABLEM AP PROCESSINSTANC EINDEX PROCESSINSTANC org.jbpm.c on text.exe.variablei nsta nce.Hibe rnateL ongln sta neeI :org.jbpm.c on text.exe.variablei nsta nce.Hibe rnateStri ngln sta neeL :org.jbpm.c on text.exe.variable in sta nce.L ongIn sta neeS:org.jbpm.c on text.exe.variablei nsta nce.Stringln sta neeN :org.jbpm.c on text.exe.variablei nsta nce.NullIn sta nee变量名称?数值转换器变量所在的TOKEN,对应JBPM_T O KEN该变量所属的TOKEN的变量映射,对应JBPM TOKENVARIABLEMAP?变量所在的流程实例,对应E JBPM PROCESSINSTANCE BYTEARRAYVALUE当流程变量是ByteArray类型时,变量的值,对DATEVALUE DOUBLEVALUE LONGIDCLASS_ 应JBPM_BYTEARRAY当流程变量是DATE类型时,变量的值当流程变量是DOUBLE类型时,变量的值当流程变量是了HibernateLonglnstanee类型时, 变量的类型LONGVALUE_ STRINGIDCLASS_ STRINGVALUE_ TASKINSTANCE_ 当流程变量是了HibernateLonglnstance/Long 类型时,变量的值当流程变量是了HibernateStringlnstanee 类型时,变量的类型当流程变量是了HibernateStringlnstance/String 类型时,变量的值变量所在的任务实例,对应JBPM TASKINSTANCE2.6 JBPM COMMENT :流程备注信息表2.7 JBPM_MESSAGE :流程异步消息表TRANSITIONNAME—?2.8 JBPM_TIMER :流程定时器表2.9 JBPM_TOKENVARIABLEMAP :流程TOKEN 变量MAP 表2.10J BPM_MODULEINSTANCE :流程模块实例表2.11 JBPM_BYTEARRAY :文件模块形式的流程变量实例表2.12 JBPM BYTEBLOCK业务系统乡级审較(廩〕。