当前位置: 首页 > news >正文

发稿类别是什么wordpress the7 seo

发稿类别是什么,wordpress the7 seo,广东美食网页怎么制作,网站建设方案下载一、什么是 Activiti 简而言之#xff0c;就是系统的流程图#xff0c;如#xff1a;请假审批流程、账单审批流程等。 二、mysql与pom配置 mysql要使用jdbc:mysql://localhost:3306/activiti?autoReconnecttrue pom文件要添加关键依赖 !--activiti核心依赖-- 就是系统的流程图如请假审批流程、账单审批流程等。 二、mysql与pom配置 mysql要使用jdbc:mysql://localhost:3306/activiti?autoReconnecttrue pom文件要添加关键依赖 !--activiti核心依赖-- dependencygroupIdorg.activiti/groupIdartifactIdactiviti-engine/artifactIdversion7.1.0.M6/version /dependency !--mysql驱动包-- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.23/version /dependency !--mybatis-- dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.5/version /dependency三、Activiti流程引擎通过 activiti.cfg.xml 进行核心配置 在 resources 目录下创建 activiti.cfg.xml 文件 beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!-- 默认方式下bean的id必须是processEngineConfiguration --bean idprocessEngineConfiguration classorg.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration!-- 配置数据源 amp; 为对 的转义 --property namejdbcUrl valuejdbc:mysql://127.0.0.1:3306/activiti01?characterEncodingutf8amp;nullCatalogMeansCurrenttrue/property namejdbcDriver valuecom.mysql.cj.jdbc.Driver/property namejdbcUsername valueroot/property namejdbcPassword value你的mysql密码/!-- activiti 数据库表生成策略 --!--自动更新数据库结构true适用开发环境默认值。activiti会对数据库中所有表进行更新操作。如果表不存在则自动创建false适用生产环境。activiti在启动时对比数据库表中保存的版本如果没有表或者版本不匹配将抛出异常create_drop 在activiti启动时创建表在关闭时删除表必须手动关闭引擎才能删除表drop-create 在activiti启动时删除原来的旧表然后在创建新表不需要手动关闭引擎--property namedatabaseSchemaUpdate valuetrue//bean /beans四、通过流程引擎建立数据表 创建 ProcessEngine 流程引擎实例和数据表 Testpublic void getProcessEngine() { // 使用activiti提供的工具类ProcessEngines // 调用 getDefaultProcessEngine 会默认读取resource下的activiti.cfg.xml文件 // 并创建 Activiti 流程引擎 和 创建数据库表ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();System.out.println(processEngine);}此时自动生成25张表 ACT_GE_* GE 表示 general 。通用数据各种情况都使用的数据 如存放资源文件图片规则等。ACT_HI_xxx HI 表示history。就是这些表包含着历史的相关数据如结束的流程实例变量任务等。ACT_RE_xxx RE 表示repository。带此前缀的表包含的是静态信息如流程定义流程的资源图片规则 等。 Activiti只在流程实例执行过程中保存这些数据 在流程结束时就会删除这些记录。ACT_RU_xxx RU 表示 runtime。这是运行时的表存储着流程变量用户任务变量职责job等运行时的 数据。Activiti只存储实例执行期间的运行时数据当流程实例结束时将删除这些记录。ACT_EVT_* EVT表示event流程引擎的通用事件日志记录表。 表分类表名说明通用数据act_ge_bytearray二进制数据表流程图act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时会插入版本号信息等通用数据act_hi_actinst历史节点表act_hi_attachment历史附件表act_hi_comment历史意见表act_hi_detail历史详情表提供历史变量的查询act_hi_identitylink历史流程人员表主要存储任务节点与参与者的相关信息act_hi_procinst历史流程实例表act_hi_taskinst历史任务实例表act_hi_varinst历史变量表流程定义表act_re_deployment部署信息表act_re_model流程设计模型表act_re_procdef流程定义数据表流程运行数据表act_ru_deadletter_job作业死亡信息表如果作业失败超过重试次数则写入到此表act_ru_event_subscrthrowEvent、catchEvent时间监听信息表act_ru_execution运行时流程执行实例表act_ru_identitylink运行时流程人员表主要存储任务节点与参与者的相关信息act_ru_integration运行时积分表act_ru_job定时异步任务数据表act_ru_suspended_job运行时作业暂停表 比如流程中有一个定时任务如果把这个任务停止工作了这个任务写入到此表中act_ru_task运行时任务节点表act_ru_timer_job运行时定时器作业表act_ru_variable运行时流程变量数据表其他表act_procdef_info流程定义的动态变更信息act_evt_log流程引擎的通用事件日志记录表 五、Activiti7 的Servcie核心接口 Activiti不需要我们去创建一系列的建Entity 、 DAO、Service、Controller有现成接口直接调用 Service 管理接口说明 Service接口说明RuntimeService运行时 Service可以处理所有正在运行状态的流程实例和任务等RepositoryService流程仓库 Service主要用于管理流程仓库比如流程定义的控制管理部署、删除、挂起、激活…DynamicBpmnServiceRepositoryService可以用来部署流程定义使用xml形式定义好的一旦部署到Activiti解析后保存到DB那么流程定义就不会再变了除了修改xml定义文件内容而DynamicBpmnService就允许我们在程序运行过程中去修改流程定义例如修改流程定义中的分配角色、优先级、流程流转的条件等等TaskService任务 Service用于管理和查询任务例如签收、办理等HistoryService历史 Service可以查询所有历史数据例如流程实例信息、参与者信息、完成时间…ManagementService引擎管理Service和具体业务无关主要用于对Activiti流程引擎的管理和维护。 核心 Service 接口实例获取方式如下 // 会在首次调用时初始化并构建一个流程引擎此后始终返回相同的流程引擎。 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine(); // 引擎管理类 ManagementService managementService processEngine.getManagementService(); // 动态修改流程管理类 DynamicBpmnService dynamicBpmnService processEngine.getDynamicBpmnService(); // 流程运行管理类 RuntimeService runtimeService processEngine.getRuntimeService(); // 流程仓库管理类 RepositoryService repositoryService processEngine.getRepositoryService(); // 任务管理类 TaskService taskService processEngine.getTaskService(); // 历史管理类 HistoryService historyService processEngine.getHistoryService();六、Activiti7 流程实操 6.1 idea安装插件 Activiti BPMN visualizer 6.2 绘制流程定义模型 1.在 /resources 目录下创建 processes 目录用于存放流程图 2.创建名为 leave 的文件 3.在 leave.bpmn.xml 空白处右键打开编辑页面 建立如下流程 其中设置流程中的name和assignee 然后导出png图片 右键空白处 生成leave.png: 6.3 部署流程定义 将上面在设计器中定义的流程部署到activiti数据库中就是流程定义部署。 通过调用activiti的api将流程定义的 .bpm 和 png 两个文件一个一个添加部署到activiti中 /*** 部署流程:* 1. act_re_deployment 流程部署表每执行一次部署会插入一条记录同样的流程多次部署不同的流程部署ID* 2. act_re_procdef 生成流程定义信息同样的流程多次部署不同的流程定义ID与版本号version* 3. act_ge_bytearray 流程资源表插入资源数据当前插入两条记录.bpmn和.png资源*/Testpublic void deployByFile() {// 1. 实例化流程引擎实例ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取流程定义和部署对象相关的ServiceRepositoryService repositoryService processEngine.getRepositoryService();// 3. 创建部署对象进行流程的部署定义一个流程的名字把 .bpmn 和 .png 部署到数据库中Deployment deployment repositoryService.createDeployment().name(请假申请流程).addClasspathResource(processes/leave.bpmn20.xml).addClasspathResource(processes/leave.png).deploy();// 4. 输出部署信息System.out.println(部署ID deployment.getId() );System.out.println(部署名称 deployment.getName() );}执行两次并不会发生冲突act_re_deployment 流程部署表只是ID不同act_re_procdef 流程定义数据表ID和版本version都不同 6.4 查询流程定义 主要针对去查询act_re_procdef表的东西可以根据key去找或者根据流程定义ID去找 /*** 查询部署的流程定义数据 ACT_RE_PROCDEF*/Testpublic void getProcessDefinitionList() {// 1. 实例化流程引擎实例ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取 RepositoryServiceRepositoryService repositoryService processEngine.getRepositoryService();// 3. 获取 ProcessDefinitionQueryProcessDefinitionQuery query repositoryService.createProcessDefinitionQuery();SetString set new HashSetString();set.add(leaveProcess:1:4);set.add(leaveProcess:2:2504);// ListProcessDefinition definitionList query.processDefinitionKey(leaveProcess) // 根据key去找ListProcessDefinition definitionList query.processDefinitionIds(set) // 根据流程定义ID去找.orderByProcessDefinitionVersion() // 按版本号排序.desc() // 降序.list();for (ProcessDefinition pd : definitionList) {System.out.println(流程部署ID pd.getDeploymentId());System.out.println(流程定义ID pd.getId());System.out.println(流程定义Key pd.getKey());System.out.println(流程定义名称 pd.getName());System.out.println(流程定义版本号 pd.getVersion());}}查询结果如下 6.5 启动流程发起申请 类似 java类 与 java实例对象 一样。发起一个申请就类似 new 了一个对象。 /*** 启动流程发起申请*/Testpublic void startProcessInstance() {// 1. 实例化ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取 RuntimeServiceRuntimeService runtimeService processEngine.getRuntimeService();// 开启流程实例 (流程设计图唯一标识key 按照 key 启动会去找版本最新的执行ProcessInstance processInstance runtimeService.startProcessInstanceByKey(leaveProcess);System.out.println(流程定义id processInstance.getProcessDefinitionId());System.out.println(流程实例id processInstance.getId());}其中涉及的表有 act_hi_actinst 流程实例执行的节点历史信息act_hi_identitylink 流程的参与用户历史信息act_hi_procinst 流程实例历史信息act_hi_taskinst 流程实例的任务历史信息act_ru_execution 流程运行中执行信息act_ru_identitylink 流程运行中参与用户信息act_ru_task 流程运行中任务信息 6.6 查询办理人待办任务与完成任务 启动流程实例后用户查询自己当前的待办任务然后执行后续操作 /*** 查询指定人员的待办任务*/Testpublic void taskListByAssignee() {// 1. 实例化流程引擎实例ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取 TaskServiceTaskService taskService processEngine.getTaskService();// 3. 根据流程唯一标识 key 和 任务办理人 查询任务ListTask list taskService.createTaskQuery().processDefinitionKey(leaveProcess) // 根据 Key.taskAssignee(领导)// 查询 领导 的任务.list();for (Task task : list) {System.out.println(流程实例id task.getProcessInstanceId());System.out.println(任务id task.getId());System.out.println(任务名称 task.getName());System.out.println(任务办理人 task.getAssignee());}}以上只是查询查询后需要执行后续操作 /*** 完成待办任务*/Testpublic void completeTask() {// 1. 实例化流程引擎实例ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取 TaskServiceTaskService taskService processEngine.getTaskService();// 3. 查询代办任务Task task taskService.createTaskQuery().processDefinitionKey(leaveProcess) // 流程 Key.taskAssignee(领导) // 查询 领导 的任务 // .taskAssignee(总经理).singleResult(); // 目前只有一条任务则可以只获取一条// 4. 完成任务任务idtaskService.complete(task.getId());}执行上述代码后 act_ru_task 表里的 name 那一列从领导审批变成了总经理审批 上面代码更换注释执行总经理审批act_ru_task 删除刚刚执行的一行数据。 6.7 查询流程实例历史节点信息 通过 HistoryService 历史数据对象来获取 HistoricActivityInstanceQuery 历史节点查询对象 /*** 查看流程办理历史信息*/Testpublic void historyInfo(){// 1. 实例化流程引擎实例ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();// 2. 获取 HistoryServiceHistoryService historyService processEngine.getHistoryService();// 3. 获取节点历史记录查询对象 ACT_HI_ACTINST 表HistoricActivityInstanceQuery query historyService.createHistoricActivityInstanceQuery();ListHistoricActivityInstance list query.processInstanceId(5001).orderByHistoricActivityInstanceStartTime() // 根据开始时间排序 asc 升序.asc().list();for (HistoricActivityInstance hi : list) {System.out.print(流程定义ID: hi.getProcessDefinitionId());System.out.print(流程实例ID: hi.getProcessInstanceId());System.out.print(节点ID: hi.getActivityId());System.out.print(节点名称: hi.getActivityName());System.out.print(任务办理人 hi.getAssignee());System.out.print(开始时间 hi.getStartTime());System.out.println(结束时间 hi.getEndTime());}}“5001“从act_hi_procinst查找
http://www.dnsts.com.cn/news/203750.html

相关文章:

  • 网站备案接入商开发个网站开票名称是什么
  • 做淘宝一样的网站广东做网站哪家公司好
  • 做网站租用服务器广东蕉岭县建设局网站
  • 建设网站技术要求什么软件推广比较赚钱
  • 网站备案ip查询网站查询wordpress本地mp3
  • 全国网站建设公司有多少家wordpress钩子介绍
  • 做 淘宝客最大的网站是叫什么网站收费系统平台
  • 北京做网站推广苏州企业网站seo
  • 我做服装设计师的 求推荐资源网站网站建设启动资金预算
  • 做汽车团购的网站wordpress使用个人写的页面
  • 扶余网站建设支付宝网站开发
  • 河南省建设监理协会新网站国外营销网站建设
  • 万江仿做网站查企业信息查询平台官网免费
  • 宝安做棋牌网站建设哪家技术好零基础学ui设计好学吗
  • 陕西建设工程信息网站中国造价信息网官网
  • 定西市小企业网站建设建设wordpress提示无法创建目录下
  • 山西运城网站建设抖音怎么推广引流
  • 网站外链接如何做南高齿网站是谁做的
  • 小学校园网站建设公司官网制作百度
  • 网站备案 上一级服务商名称荷兰网站开发价格
  • 设计师接私单网站建设网站站点有哪些步骤
  • wordpress网站名称函数河北网站建设开发
  • 推广平台哪个效果最好成都关键词seo推广平台
  • 网站建设是怎么收费的关键词推广方式
  • 手机做车载mp3下载网站六安网站开发
  • 抚州网站制作建筑工程施工合同范本
  • 给网站做数据分析网站建设与推广话术
  • 山西网站开发公司电话个人网站备案名字大全
  • 做网站怎么做鼠标跟随c语言可以做网站吗
  • 建设银行企业网站访问不了怎样提交网站百度收录