解决flowable部署失败.not a valid value for QName

 部署工单时报错:'5ad88aa2-cf80-475f-8085-c4f838c788b3' is not a valid value for 'QName'

org.flowable.bpmn.exceptions.XMLException: cvc-datatype-valid.1.2.1: '5ad88aa2-cf80-475f-8085-c4f838c788b3' is not a valid value for 'QName'.
        at org.flowable.bpmn.converter.BpmnXMLConverter.convertToBpmnModel(BpmnXMLConverter.java:274) ~[flowable-bpmn-converter-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:148) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.bpmn.deployer.ParsedDeploymentBuilder.createBpmnParseFromResource(ParsedDeploymentBuilder.java:97) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.bpmn.deployer.ParsedDeploymentBuilder.build(ParsedDeploymentBuilder.java:55) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.bpmn.deployer.BpmnDeployer.deploy(BpmnDeployer.java:77) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.persistence.deploy.DeploymentManager.deploy(DeploymentManager.java:62) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.cmd.DeployCmd.executeDeploy(DeployCmd.java:123) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:68) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:43) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.interceptor.CommandInvoker$1.run(CommandInvoker.java:51) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:93) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:72) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:56) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:25) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-6.4.1.jar!/:6.4.1]
        at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:71) ~[flowable-engine-common-6.4.1.jar!/:6.4.1]
        at org.flowable.common.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:49) ~[flowable-spring-common-6.4.1.jar!/:6.4.1]
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) ~[spring-tx-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:46) ~[flowable-spring-common-6.4.1.jar!/:6.4.1]
        at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.4.1.jar!/:6.4.1]
        at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.4.1.jar!/:6.4.1]
        at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:97) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at org.flowable.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:209) ~[flowable-engine-6.4.1.jar!/:6.4.1]
        at com.ayg.workflow.service.flowable.ProcessDefineService.doDeployment(ProcessDefineService.java:231) ~[classes!/:?]
        at com.ayg.workflow.service.flowable.ProcessDefineService$$FastClassBySpringCGLIB$$80f096d5.invoke(<generated>) ~[classes!/:?]
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) ~[spring-aop-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at com.ayg.workflow.service.flowable.ProcessDefineService$$EnhancerBySpringCGLIB$$fb1527b5.doDeployment(<generated>) ~[classes!/:?]
        at com.ayg.workflow.service.BizBpmnDeploymentService.deploymentBpmn(BizBpmnDeploymentService.java:211) ~[classes!/:?]
        at com.ayg.workflow.controller.flowable.BizBpmnDeploymentController.doDeploy(BizBpmnDeploymentController.java:184) [classes!/:?]
        at sun.reflect.GeneratedMethodAccessor749.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) [spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110) [spring-boot-actuator-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at com.aygframework.log.CallChainServerLogForSpringMVCFilter.doFilterInternal(CallChainServerLogForSpringMVCFilter.java:169) [ayg-log-1.2.8-SNAPSHOT.jar!/:1.2.8-SNAPSHOT]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) [spring-boot-actuator-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.16.jar!/:8.5.16]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '5ad88aa2-cf80-475f-8085-c4f838c788b3' is not a valid value for 'QName'.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator.processOneAttribute(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator.processAttributes(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.jaxp.validation.StAXValidatorHelper$StreamHelper.validate(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.jaxp.validation.StAXValidatorHelper.validate(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown Source) ~[xercesImpl-2.11.0.jar!/:?]
        at javax.xml.validation.Validator.validate(Validator.java:124) ~[?:1.8.0_131]
        at org.flowable.bpmn.converter.BpmnXMLConverter.validateModel(BpmnXMLConverter.java:223) ~[flowable-bpmn-converter-6.4.1.jar!/:6.4.1]
        at org.flowable.bpmn.converter.BpmnXMLConverter.convertToBpmnModel(BpmnXMLConverter.java:267) ~[flowable-bpmn-converter-6.4.1.jar!/:6.4.1]
        ... 99 more

我先是导出流程图.bpmn20.xml,在找这个5ad88aa2-cf80-475f-8085-c4f838c788b3从哪来的

可是没找到,然后找到一篇文章解决activiti流程部署时报错:not a valid value for 'NCName'

一语道破天机.果断试试.果然可以.

我把作者的一部分内容搬运过来,贴给大家.感谢作者CptHiro的搬运

常用的XML内置类型

  1. XML Schema 内置简单类型:

    • string 字符数据类型

    模式处理器在处理string类型的值时,会将值中所有空白字符包括空格、制表符、回车换行都保留。

    • normalizedString

    派生自string,与string不同的地方:模式处理器对空白的处理方式,处理器会将读到的 每一个回车、换行和制表符替换为单个空格字符。

    • token

    派生自normalizedString,模式处理器对 于此类型的内容时,会用单个空格来替换读到的每一个回车、换行和制表符,替换后,每一组连续的空格被压缩为一个空格字符,而所有前导和后导空格被删除。

    • Name

    派生自token,它表示一个XML名称,即该类型的值必须以字母、下划线(_)或冒号(:)开头,而且只能包含字母、数字、连字符、下划线、冒号或句号(.)。

    • NCName

    继承自Name,表示一个XML无冒号的名称,即该名称中不能使用冒号。它与Name类似,唯一的区别就是不能使用冒号。

  2. 数字类型

    • float和double(单精度和双精度浮点数)

    float数据类型表示IEEE单精度32位浮点数,而double表示IEEEE双精度64位浮点数。

    • decimal

    数据类型decimal表示任意精度的小数,不同的模式处理器支持的有效位数是不一样的,不过XML Schema推荐标准中要求符合规范的模式处理器必须至少支持18位有效数字。

    • integer

    数据类型integer派生自decimal,表示一个任意大的整数。从integer数据类型派生了其他十二中内置的整数类型。

  3. 日期和时间类型

    • date

    用于表示日期。date的格式为:YYYY-MM-DD。要表示9999年之后的年份,在年值左边添加数字,但不允许前导0;表示公元前的年,可以在年值钱添加负号-。可以在日期值之后添加时区表达式,或者字母‘Z’,表示UTC时间。

    • time

    表示时间。time的格式是:hh:mm:ss.sss。时间是24小时制。可以在时间值之后添加可选的时间表达式,或者添加字母‘Z’,表示是UTC时间。

    • dateTime

    表示完整的日期和时间,即date+time,本类型的格式为YYYY-MM-DDThh:mm:ss.sss,字母T作为日期和时间的分割。可以在dateTime值之后添加可选的时区表达式,或者添加字符’Z’。

    • gYear

    表示一个特定的阳历年,格式为: YYYY

    • gYearMonth

    表示一个特定年的某月,格式: YYYY-MM

    • gMonth

    表示某个月,格式为: --MM

    • gMonthDay

    表示某个月的某天,格式: --MM-DD (8) gDay 表示某天,格式为: ---DD

    • duration

    表示持续时间。格式为:PnYnMnDTnHnMnS。 示例:P2Y3M4DT23H12M15.6S

  4. 其他数据类型

    • boolean

    表示逻辑值,有效值是true,false,0,1

    • anyURI

    表示一个统一资源标示符的引用。

    • QName

    表示XML名称空间限定名。Qname值包括一个名称空间前缀和本地部分(这两部分都是NCName类型),中间用冒号分隔。

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
非常抱歉,我之前的回答有误。在 Flowable 6.5 中,确实没有 `org.flowable.engine.delegate.Expression` 接口。 如果需要处理复杂条件,可以使用 `org.flowable.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior` 中的 `org.flowable.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior#evaluateConditions(DelegateExecution)` 方法,该方法可以通过代理类计算条件表达式的值。 以下是一个使用代理类处理复杂条件的示例: 1. 定义一个 Java 类,实现 `org.flowable.engine.delegate.JavaDelegate` 接口。该接口用于执行 Java 代码,并可以访问流程实例的变量。 ``` public class MyJavaDelegate implements JavaDelegate { @Override public void execute(DelegateExecution execution) { // 获取 execution 中的变量,根据变量值计算条件表达式的值 // 将计算结果设置为 execution 的变量 } } ``` 2. 在 ExclusiveGateway 中定义条件表达式,值为代理类的实例。 ``` <exclusiveGateway id="exclusiveGateway1" name="Exclusive Gateway"> <extensionElements> <activiti:executionListener expression="${myJavaDelegate}" event="start" /> </extensionElements> <condition id="flow1Condition" name="flow1"> <!-- 空值,代理类中计算条件表达式的值 --> </condition> <condition id="flow2Condition" name="flow2"> <!-- 空值,代理类中计算条件表达式的值 --> </condition> </exclusiveGateway> ``` 3. 在流程启动时,将代理类的实例设置为 execution 的变量。 ``` Map<String, Object> variables = new HashMap<>(); variables.put("myJavaDelegate", new MyJavaDelegate()); runtimeService.startProcessInstanceByKey("myProcess", variables); ``` 4. 在代理类中可以通过 DelegateExecution 对象获取流程实例的变量,根据变量值计算条件表达式的值,并将计算结果设置为 execution 的变量。 ``` public class MyJavaDelegate implements JavaDelegate { @Override public void execute(DelegateExecution execution) { // 获取 execution 中的变量 Object variable = execution.getVariable("myVariable"); // 根据变量值计算条件表达式的值 boolean conditionValue = true; // 假设计算结果为 true // 将计算结果设置为 execution 的变量 execution.setVariable("flow1Condition", conditionValue); execution.setVariable("flow2Condition", !conditionValue); } } ``` 以上就是一个使用代理类处理复杂条件的示例。希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的咩咩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值