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

怎么把网站放到空间访问网站获取qq

怎么把网站放到空间,访问网站获取qq,html旅游网站模板,帮别人建设网站需要什么资质前言 在前面的两篇文章我们介绍了Camunda的web端和camunda-modeler的使用。这篇文章主要介绍camunda结合springboot进行使用#xff0c;以及相关api介绍。 该专栏主要为介绍camunda的学习和使用 #x1f345;【2024】Camunda常用功能基本详细介绍和使用-下#xff08;1以及相关api介绍。 该专栏主要为介绍camunda的学习和使用 【2024】Camunda常用功能基本详细介绍和使用-下1【2024】Camunda常用功能基本详细介绍和使用(业务决策和定时事件)-下2 【2025】camunda API接口介绍以及REST接口使用3 一、项目搭建 1、依赖引入 先创建好一个springboot项目这里依旧使用的camunda7.20的版本然后jdk使用的是17的版本springboot版本使用的是3.3.0。这里可以根据自己的项目情况去跟换camunda7.20版本。可以在官方文档查看版本适配。 尽量选择适配的避免增加不必要的麻烦 ➡️官网地址 依赖我主要添加了几个camunda引擎还有web页面以及rest接口和openapi的几个依赖数据库用的是mysql的数据库swagger文档用了knife4j的。 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.0/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdorg.zheng/groupIdartifactIdcamunda-demo/artifactIdversion0.0.1-SNAPSHOT/versionnamecamunda-demo/namedescriptioncamunda-demo/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version17/java.versioncamunda.version7.20.0/camunda.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- camunda相关 依赖-- !-- 引擎--dependencygroupIdorg.camunda.bpm.springboot/groupIdartifactIdcamunda-bpm-spring-boot-starter/artifactIdversion${camunda.version}/version/dependency !-- web ui界面--dependencygroupIdorg.camunda.bpm.springboot/groupIdartifactIdcamunda-bpm-spring-boot-starter-webapp/artifactIdversion${camunda.version}/version/dependency !-- rest接口--dependencygroupIdorg.camunda.bpm.springboot/groupIdartifactIdcamunda-bpm-spring-boot-starter-rest/artifactIdversion${camunda.version}/version/dependency !-- openapi 文档 --dependencygroupIdorg.camunda.bpm/groupIdartifactIdcamunda-engine-rest-openapi/artifactIdversion${camunda.version}/version/dependency!-- swagger文档--dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactIdversion4.4.0/version/dependencydependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-spring-boot-starter/artifactIdversion4.4.0/version/dependency!-- mysql 数据库--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.32/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationannotationProcessorPathspathgroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/path/annotationProcessorPaths/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project 2、配置文件 2.1、yaml配置文件 主要配置了数据库连接配置camunda基础配置以及swagger相关配置 server:port: 8090spring:application:name: camunda-demo# 数据库配置datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/camunda?nullDatabaseMeansCurrenttrueuseUnicodetruecharacterEncodingutf-8serverTimezoneAsia/ShanghaiuseSSLfalseusername: rootpassword: 123456type: com.mysql.cj.jdbc.MysqlDataSource# camunda基础配置 camunda.bpm: # auto-deployment-enabled: false #如果不是第一次启动可以把这个打开避免每次去检查自动部署数据库admin-user:id: admin #用户名password: 123456 #密码firstName: yufilter:create: All tasksgeneric-properties:# 历史生存时间properties:historyTimeToLive: P10D# swagger文档配置 springdoc:swagger-ui:path: /swagger-ui.htmltags-sorter: alphaoperations-sorter: alphaurls:- url: /openapi.json # camunda中编写好的api的文档信息name: camunda- url: /v3/api-docs # 咱们自己在项目中自定义的文档信息name: camundaapi-docs:path: /v3/api-docsenabled: true 2.2、添加openapi.json 把依赖下载下来之后我们需要到camunda-engine-rest-openapi把openapi.json文件添加到resources.static目录下供配置文件读取 存放位置 3、验证 启动项目访问 http://localhost:8090/camunda/app/cockpit/default/#/dashboard 使用自己yaml配置的 账号 密码登陆则代表页面成功 访问swagger http://localhost:8090/swagger-ui/index.html 需要把端口改为自己的端口或者直接修改openapi.json文件 doc.html访问 http://localhost:8090/doc.html#/home登陆然后还需要修改这个地方改为实际地址的前缀 二、REST API介绍 1、Camunda API介绍 中心起点是 ProcessEngine可以通过配置部分中描述的几种方式创建。从 ProcessEngine您可以获取包含工作流/BPM 方法的各种服务。ProcessEngine 和服务对象是线程安全的。因此您可以为整个服务器保留对其中一个的引用。 ProcessEngines.getDefaultProcessEngine()将在第一次调用时初始化并构建流程引擎之后始终返回相同的流程引擎。可以使用 和 正确创建和关闭所有流程ProcessEngines.init()引擎ProcessEngines.destroy()。 创建流程引擎的时候我们要知道一点所有流程引擎服务都是无状态的。这意味着您可以轻松地在集群中的多个节点上运行 Camunda 7每个节点都访问同一个数据库而不必担心哪台机器实际执行了之前的调用。对任何服务的任何调用都是幂等的无论它在何处执行。 下面就是我们流程引擎内部的api service这些service都注入到bean容器里面去了我们可以直接跟其他的接口一样使用spring的方式在使用时直接引入 常用介绍 RepositoryServiceRepositoryService是你与Camunda引擎交互的第一个切入点。它主要用于管理流程定义的部署包括上传流程定义文件如BPMN文件到引擎中。 部署和管理流程定义查询已部署的流程定义和部署信息挂起和激活流程定义控制其是否可以被启动检索流程定义中的文件和流程图。 RuntimeServiceRuntimeService是用于在流程执行期间与引擎交互的服务。它允许启动流程实例并且可以查询正在执行的流程实例状态 启动流程实例存储和检索流程实例的变量。查询正在执行的流程实例和执行实例指向流程实例当前位置的“令牌”处理流程实例的外部触发。 TaskServiceTaskService专注于管理流程中的任务特别是那些需要人为干预的任务。 查询分配给用户的任务。创建新的任务这些任务可以独立于任何流程实例。分配任务给用户或组。认领和完成任务。 IdentityServiceIdentityService提供了管理用户和组的功能但请注意核心引擎并不会在运行时验证用户身份。 创建、更新、删除和查询用户和组。尽管可以将任务分配给任何用户但实际的身份验证和授权需在应用层实现。 FormServiceFormService是可选的它支持流程中的表单功能比如启动流程前展示的表单或任务完成时所需的表单。 管理和渲染开始表单和任务表单。表单数据与流程变量的交互。 HistoryServiceHistoryService提供了访问流程执行历史记录的功能。 查询流程实例的历史数据如开始时间、执行用户、任务耗时等数据持久化级别可配置 FilterServiceFilterService允许创建和管理过滤器用于简化常见的查询需求 创建存储的查询如任务查询。Tasklist应用使用过滤器来筛选任务。 ExternalTaskServiceExternalTaskService专门处理外部任务即在流程引擎之外执行的工作项。 提供对流程外部任务的访问和管理支持异步处理模式下的任务领取和完成。 2、常用API详细使用 2.1、 RepositoryService 下面的查询接口我们要知道一点如ProcessDefinition这个返回出来的实际是使用多态实际的实体对象会是ProcessDefinitionEntityCamunda中全部的api返回都是这个格式要查看实体对象则需要加Entity。 // 管理流程定义相关的apiAutowiredprivate RepositoryService repositoryService;/*** 流程部署*/Testvoid testRepositoryService(){// 添加流程/** 表示把test.bpmn作为流程部署到数据库设置name为test** */// Deployment deployment repositoryService.createDeployment() //添加流程部署记录 ACT_RE_DEPLOYMENT// .name(test) //name// .addClasspathResource(test.bpmn) //文件地址// .deploy(); //添加流程定义 实际数据 ACT_RE_PROCDEF// 查询 流程部署 数据执行器 ACT_RE_PROCDEFProcessDefinitionQuery processDefinitionQuery repositoryService.createProcessDefinitionQuery();// 返回全部数据ListProcessDefinition processDefinitionList processDefinitionQuery.list();processDefinitionList.forEach(it- System.out.println(it.getName()));// 根据key查询返回符合的流程定义列表每一个版本算一条记录ListProcessDefinition processDefinitionList2 processDefinitionQuery.processDefinitionKey(shopping).list();// 根据流程name查询并且按照版本号查询最新的数据ProcessDefinition processDefinition processDefinitionQuery.processDefinitionName(shopping).latestVersion().singleResult();// 查询 流程定义 数据执行器 ACT_RE_DEPLOYMENTDeploymentQuery deploymentQuery repositoryService.createDeploymentQuery();ListDeployment deploymentList deploymentQuery.list();ListResource resourceList repositoryService.getDeploymentResources(036d2809-b795-11ef-9e74-46c5fd5dfd3a);System.out.println(resourceList);ListCaseDefinition caseDefinitionList repositoryService.createCaseDefinitionQuery().list();System.out.println(caseDefinitionList);// 查询ACT_RE_DECISION_DEFListDecisionDefinition decisionDefinitionList repositoryService.createDecisionDefinitionQuery().list();System.out.println(decisionDefinitionList);ListDecisionRequirementsDefinition decisionRequirementsDefinitionList repositoryService.createDecisionRequirementsDefinitionQuery().list();System.out.println(decisionRequirementsDefinitionList); 根据流程定义删除数据// repositoryService.deleteDeployment(WorkOrderProcess:4:3659eb47-b794-11ef-9e74-46c5fd5dfd3a,true);// 根据流程部署id删除数据// repositoryService.deleteProcessDefinition(db155b13-b793-11ef-9e74-46c5fd5dfd3a);} 2.2、TaskService // 查询流程中的任务相关的apiAutowiredprivate TaskService taskService;/*** 任务查询*/Testvoid testTaskService() {taskService.createTaskQuery();// Java 对象查询 数据执行器 ACT_RU_TASKTaskQuery taskQuery taskService.createTaskQuery();ListTask taskList1 taskQuery.list();taskList1.forEach(task - System.out.println(task.getName()));// 根据用户查询代办任务ListTask taskList2 taskQuery.taskAssignee(admin).list();System.out.println(taskList2);// Native sql 查询 数据执行器NativeTaskQuery nativeTaskQuery taskService.createNativeTaskQuery();ListTask taskList3 nativeTaskQuery.sql(SELECT * from ACT_RU_TASK).list();taskList3.forEach(task - System.out.println(task.getName()));taskList3.forEach(task - System.out.println(task.getName()));}2.3、RuntimeService // 管理流程实例相关的apiAutowiredprivate RuntimeService runtimeService;Testvoid testRuntimeService(){// 查询 (执行在流程上的每一种结果) Execution可以代表这个执行过程中的某一个分支或上下文ListExecution executionList runtimeService.createExecutionQuery().list();System.out.println(executionList);// 获取查询流程实例 ProcessInstance表示整个流程的一次完整执行ListProcessInstance processInstanceList runtimeService.createProcessInstanceQuery().list();// 查询当前正在活动的任务ActivityInstance activityInstance runtimeService.getActivityInstance(86f6ef7d-b935-11ef-8a29-46c5fd5dfd3a);System.out.println(activityInstance);// 根据任务id查询任务参数MapString, Object variables runtimeService.getVariables(86f6ef7d-b935-11ef-8a29-46c5fd5dfd3a);} 3、REAT API介绍使用 很多时候我们在开发的项目过程中不想和工作流引擎过于紧密我们通常可能需要做到解耦合。在其他的服务通过调用camunda的Open API的方式去获取工作流中的相关数据这时候我们就需要了解常用到的API接口这时候我们可能需要获取到对应的接口的实体接收类但又不想添加工作流引擎的依赖这时候我们需要添加两个依赖。 3.1、依赖 添加这两个依赖这两个依赖主要是一些实体类和API接口的相关参数 !-- 实体对象--dependencygroupIdorg.camunda.bpm/groupIdartifactIdcamunda-engine-spring-6/artifactIdversion7.20.0/version/dependency!-- open api接口以及相关的DTO对象--dependencygroupIdorg.camunda.bpm/groupIdartifactIdcamunda-engine-rest-core-jakarta/artifactIdversion7.20.0/version/dependency3.2、REST API接口介绍 我们打开camunda-engine-rest-core-jakarta依赖的sub包下的对应的这些文件夹是不是很熟悉是的这些文件夹就是对应的Camunda API中的service名字。 分别对应着task、runtime、repository、management、identity、history 六个service每个service的具体的介绍就看上面就行。 3.2.1、接口介绍 这里介绍一下task可以看到不同的接口文件分别是表示一个分类。对应着task相关的接口。可以看到这里的一个类对应着swagger 中接口文档的一个类 TaskResource 文件中的TaskResource类就是对应的swagger的taskGET注解表示请求方式Path表示路径Path表示拼接的路径后缀。 TaskAttachmentResource 这个就可以很明显看到他们的区别 3.2.2、接口组成 以这个接口举例 http://localhost:8080/engine-rest/task/47398c44-bab7-11ef-81ba-024191f3177f/form http://localhost:8080/engine-rest是服务和统一的路径不用管task表示这个类名的前缀47398c44-bab7-11ef-81ba-024191f3177f{id}是我们传入的路径参数还没到接口的位置就被解析了所以在这个位置没有参数form表示接口的路径 所以我们接收的参数就是FormDto对象一般可以直接使用有部分是内部还包裹着的类属性就不能直接使用需要做自己去声明对应的属性。
http://www.w-s-a.com/news/914664/

相关文章:

  • 公司网站建设方案书安卓应用市场免费下载安装
  • phpmysql网站设计建设好一个网站需要
  • 自己做的网站能被别人看到吗idea怎么做网页
  • 燕莎网站建设互联网排名前十的公司2021
  • 微软云怎么做网站微商城和小程序区别
  • 哈尔滨建站的系统网站到首页排名
  • 运动网站开发的需求分析南通市住房和城乡建设局网站
  • 佘山做网站谷歌云做网站
  • 免费发布信息网站大全666做p2p网站费用
  • 北京 网站建设咨询顾问公司网络公司有几家
  • 设计类网站如何用ps做网站首页
  • 品牌网站建设的关键事项设计网有哪些
  • 网站没收录徐州建设工程审图中心网站
  • 网站建设记账做什么科目erp系统有哪些软件
  • 泰拳图片做网站用哪里有做空包网站的
  • 查外链网站重庆做网站微信的公司
  • 有没有外包活的网站如何做网站快捷键的元素
  • 公司网站赏析网站制作2019趋势
  • 企业进行网站建设的方式有( )推广引流违法吗
  • 按营销型网站要求重做网站 费用点金网站建设
  • 深圳做网站互联网服务
  • 网站sem托管wordpress安装无法连接数据库
  • 深圳网站建设开发公司哪家好微信小程序商家入口
  • 江门站排名优化建立什么网站赚钱
  • 科普文章在那个网站做招聘网站代做
  • 监控设备东莞网站建设游戏网站域名
  • 对商家而言网站建设的好处网址导航怎么彻底删除
  • app设计网站模板企业展厅策划设计公司有哪些
  • wordpress销售主题手机网站关键词优化
  • 怎么查一个网站是什么程序做的三亚城乡建设局网站