activiti流程开发基本步骤.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

activiti流程开发基本步骤

???4)人工信息

BPMN2.0概要:/workclass/201206272.asp

?

二、activiti主要接口

ProcessEngineprocessEngine=?ProcessEngines.getDefaultProcessEngine();

RuntimeServiceruntimeService=processEngine.getRuntimeService();

RepositoryServicerepositoryService=processEngine.getRepositoryService();

TaskServicetaskService=processEngine.getTaskService();

ManagementServicemanagementService=processEngine.getManagementService();

IdentityServiceidentityService=processEngine.getIdentityService();

HistoryServicehistoryService=processEngine.getHistoryService();

FormServiceformService=processEngine.getFormService();

?

??ProcessEngines.getDefaultProcessEngine()会在第一次调用时初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。使用对应的方法可以创建和关闭所有流程引擎:ProcessEngines.init()?和?ProcessEngines.destroy()。

????ProcessEngines会扫描所有activiti.cfg.xml?和?activiti-context.xml?文件。对于activiti.cfg.xml文件,流程引擎会使用Activiti的经典方式构建:ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(inputStream).buildProcessEngine().对于activiti-context.xml文件,流程引擎会使用Spring方法构建:先创建一个Spring的环境,然后通过环境获得流程引擎。

所有服务都是无状态的。这意味着可以在多节点集群环境下运行Activiti,每个节点都指向同一个数据库,不用担心哪个机器实际执行前端的调用。无论在哪里执行服务都没有问题?

???RepositoryService可能是使用Activiti引擎时最先接触的服务。它提供了管理和控制发布包和流程定义的操作。这里不涉及太多细节,流程定义是BPMN2.0流程的java实现。它包含了一个流程每个环节的结构和行为。?发布包是Activiti引擎的打包单位。一个发布包可以包含多个BPMN2.0xml文件和其他资源。开发者可以自由选择把任意资源包含到发布包中。既可以把一个单独的BPMN2.0xml文件放到发布包里,也可以把整个流程和相关资源都放在一起。(比如,hr-processes实例可以包含hr流程相关的任何资源)。可以通过RepositoryService来部署这种发布包。发布一个发布包,意味着把它上传到引擎中,所有流程都会在保存进数据库之前分析解析好。从这点来说,系统知道这个发布包的存在,发布包中包含的流程就已经可以启动了。

除此之外,服务可以

查询引擎中的发布包和流程定义。

暂停或激活发布包,对应全部和特定流程定义。暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。

获得多种资源,像是包含在发布包里的文件,或引擎自动生成的流程图。

获得流程定义的pojo版本,可以用来通过java解析流程,而不必通过xml。

正如RepositoryService负责静态信息(比如,不会改变的数据,至少是不怎么改变的),?RuntimeService正好是完全相反的。它负责启动一个流程定义的新实例。如上所述,流程定义定义了流程各个节点的结构和行为。流程实例就是这样一个流程定义的实例。对每个流程定义来说,同一时间会有很多实例在执行。?RuntimeService也可以用来获取和保存流程变量。这些数据是特定于某个流程实例的,并会被很多流程中的节点使用(比如,一个排他网关常常使用流程变量来决定选择哪条路径继续流程)。?Runtimeservice也能查询流程实例和执行。执

您可能关注的文档

文档评论(0)

158****1866 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档