|
activiti工作流 |
|
|
中文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);}} |
|
|
|
|
|
|
|
|
|
|