配色: 字号:
activiti工作流
2016-10-18 | 阅:  转:  |  分享 
  
中文API:http://www.mossle.com/docs/activiti/index.html#N16733源码:cmd->源码
路径->mvn-fpom.xmleclipse(git下载后转乘eclipse)账号密码角色kermitkermit
admingonzogonzomanagerfozziefozzieuseractiviti-archetype-unitte
st:Activiti原型测试activiti-bpmn-converter:ActivitiBPMN转换BPMN:流
程设计器activiti-bpmn-layout:ActivitiBPMN布局activiti-webapp-explorer
:Activiti-程序-浏览器Activiti-masteractiviti-root流程引擎的API和服务ProcessEn
gine从ProcessEngine开始。ProcessEngine类是引擎功能的中心入口ProcessEngines.getDe
faultProcessEngine()会在第一次调用时初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。使用对应的
方法可以创建和关闭所有流程引擎:ProcessEngines.init()?和?ProcessEngines.destroy()。
ProcessEngines会扫描所有activiti.cfg.xml和?activiti-context.xml?文件。对于ac
tiviti.cfg.xml文件,流程引擎会使用Activiti的经典方式构建:ProcessEngineConfiguratio
n.createProcessEngineConfigurationFromInputStream(inputStream).bu
ildProcessEngine().对于activiti-context.xml文件,流程引擎会使用Spring方法构建:先创
建一个Spring的环境,然后通过环境获得流程引擎。所有服务都是无状态的。这意味着可以在多节点集群环境下运行Activiti,每
个节点都指向同一个数据库,不用担心哪个机器实际执行前端的调用。无论在哪里执行服务都没有问题。RepositoryService
RepositoryService可能是使用Activiti引擎时最先接触的服务。?它提供了管理和控制发布包和流程定义的操作。负责
静态信息(比如,不会改变的数据,至少是不怎么改变的)?RuntimeServiceRuntimeService负责启动一个流程定
义的新实例RuntimeService也可以用来获取和保存流程变量Runtimeservice也能查询流程实例和执行最后,Runt
imeService可以在流程实例等待外部触发时使用,这时可以用来继续流程实例。流程实例可以有很多暂停状态,而服务提供了多种方法
来''触发''实例,接受外部触发后,流程实例就会继续向下执行。TaskServiceTaskService所有与任务有关的功能Ide
ntityServiceIdentityService它可以管理(创建,更新,删除,查询...)群组和用户。请注意,Activi
ti执行时并没有对用户进行检查。FormServiceFormService可选服务这个服务提供了启动表单和任务表单启动表单会在
流程实例启动之前展示给用户,任务表单会在用户完成任务时展示HistoryServiceHistoryService提供了Acti
viti引擎手机的所有历史数据。在执行流程时,引擎会保存很多数据(根据配置),这个服务主要通过查询功能来获得这些数据。Manag
ementService它可以查询数据库的表和表的元数据。另外,它提供了查询和管理异步操作的功能。Activiti的异步操作用途
很多,比如定时器,异步操作,延迟暂停、激活,等等。数据库(mysql创建表数据)Activity共23张表代码创建表数据:新建
数据库:packagejunit;importorg.activiti.engine.ProcessEngine;import
org.activiti.engine.ProcessEngineConfiguration;importorg.junit.
Test;publicclassTestActiviti{/使用代码创建工作流需要的23张表/@Testpublic
voidcreateTable(){ProcessEngineConfigurationprocessEngineConfig
uration=ProcessEngineConfiguration.createStandaloneProcessEngin
eConfiguration();//连接数据库的配置processEngineConfiguration.setJdbcDriv
er("com.mysql.jdbc.Driver");processEngineConfiguration.setJdbcUrl
("jdbc:mysql://localhost:3306/activiti_test?useUnicode=true&chara
cterEncoding=utf8");processEngineConfiguration.setJdbcUsername("r
oot");processEngineConfiguration.setJdbcPassword("root");/publ
icstaticfinalStringDB_SCHEMA_UPDATE_FALSE="false";不能自动创建表,需
要表存在publicstaticfinalStringDB_SCHEMA_UPDATE_CREATE_DROP="c
reate-drop";先删除表再创建表publicstaticfinalStringDB_SCHEMA_UPDATE_
TRUE="true";如果表不存在,自动创建表/processEngineConfiguration.setDataba
seSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//工作流的核心对象,ProcessEnginee对象ProcessEngineprocessEngine=processEngineConfiguration.buildProcessEngine();System.out.println("processEngine:"+processEngine);}}
献花(0)
+1
(本文系樱梦雪苹宝首藏)