- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jbpm51介绍.
jbpm5.1介绍(3)在您好的应用程序中使用一个新的流程流程处理?(1)你需要建立一个知识库,其中包含过程定义?KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();kbuilder.add( ResourceFactory.newClassPathResource(MyProcess.bpmn2),?ResourceType.BPMN2 ); 加入你的进程生成器(可以添加多个进程)后,您可以创建一个新的知识基础,这样的:?KnowledgeBase kbase = kbuilder.newKnowledgeBase(); 请注意,这将抛出一个异常,如果知识库包含错误(因为它不能正确地分析您的流程)。(2)你需要创建一个会话,沟通与流程引擎和启动过程的启动过程。启动过程:启动一个特定的进程,你会需要调用您的会话的startProcess方法,并传递您要启动的进程的ID。例如:?StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();ksession.startProcess(com.sample.hello);startProcess方法的参数是需要启动的进程ID。当定义一个过程,这需要作为一个过程的财产(例如在Eclipse的属性视图显示,当您单击过程中的背景画布)指定进程ID。当您启动的过程中,你可以指定额外的参数,用来传递额外的输入数据的过程中,使用startProcess(弦乐进程ID,地图参数)方法。额外的参数是一个名称 - 值对的集合。这些参数将被复制到新创建的进程实例的顶层变量的过程,所以他们可以在你的进程余下的直接访问。数据虽然流程图上指定的过程控制流的重点,它通常也有必要的过程,从数据的角度看。在整个执行过程中,数据可以检索,存储,传递和使用。对于运行时的数据,存储在执行过程中中,过程变量都可以使用。变量是一个名称和一个数据类型定义。这可能是一个基本数据类型,如布尔,INT,或String,或任何Object的子类。变量可以定义一个变量的范围内。顶层的范围是过程本身的变量的范围。?Subscopes可以定义使用一个子进程。子范围定义的变量只在该范围内的节点访问。每当访问一个变量,这个进程将寻找合适的变量范围定义变量。变量作用域的嵌套是不允许的。节点总是会寻找其父容器中的一个变量。如果无法找到该变量,它会看,一个人的父容器,等等,直到达到流程实例本身。如果无法找到该变量,读访问产量空,写访问会产生错误消息,继续执行的过程。变量可以用各种方式:流程级别的变量,可以设置启动时所提供的参数映射到thestartProcess方法调用一个过程。这些参数将作为进程范围的变量。脚本操作,只需直接使用在其脚本的本地参数变量的名称可以访问的变量。例如,如果程序定义了一个变量类型“org.jbpm.Person”的过程中,在这个过程中的脚本可以访问此直接:?person.setAge(10);更改一个脚本中的变量的值可以通过知识背景下:kcontext.setVariable(variableName,?value);服务任务(可重复使用的子过程)可以通过向外界(或另一个进程实例)过程变量的值变量映射到一个传出参数。例如,服务任务的参数映射可以定义的过程变量x的值应被映射到一个任务参数y对前被调用服务。您还可以注入一个硬编码的参数字符串,使用#{表达式}的过程变量值。例如,可以定义一个人的任务的描述,您需要联络人#{person.getName()}(其中人是一个过程变量),这个表达式将取代人的实际名称服务时需要调用。同样的服务(或可重复使用的子进程)的结果也可以被复制使用结果映射到一个变量。各种其他节点也可以访问数据。例如事件节点可以存储在变量中的事件关联的数据,等检查的更多信息,不同的节点类型的属性。最后,流程和规则都进入到全局,即全局变量和知识会话中的数据。的全局在行动就像变量直接访问。全局需要定义作为这一进程的一部分,才可以使用。例如,按一下指定动作脚本在Eclipse行动的属性编辑器时,全局按钮您可以定义的全局。您还可以设置一个全球从外面使用ksession.setGlobal(名称,值),或从内部使用kcontext.getKnowledgeRuntime()的过程脚本的价值在setglobal(名称,值);约束约束可用于在不同的地点,在你的流程,例如在一个不同的网关。?jBPM支持两种类型的约束:守则约束的布尔表达式,他们到达时直接评价。我们目前支持两种方言表达这些代码限制:Java和MVEL。?Java和MVEL代码的限制直接访问,
文档评论(0)