博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring整合activiti-modeler5.16遇到的小问题
阅读量:6881 次
发布时间:2019-06-27

本文共 8127 字,大约阅读时间需要 27 分钟。

接上一篇整合activiti-modeler并成功创建model:   之后,我尝试运用自定义的model部署流程,但是在部署的过程中又遇到了一些问题,控制台一直报如下错误:

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.org.activiti.engine.ActivitiException: Error parsing XML	at org.activiti.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:236)	at org.activiti.engine.impl.bpmn.deployer.BpmnDeployer.deploy(BpmnDeployer.java:112)	at org.activiti.engine.impl.persistence.deploy.DeploymentManager.deploy(DeploymentManager.java:50)	at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:103)	at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:37)	at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)	at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)	at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)	at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)	at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37)	at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)	at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)	at org.activiti.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:78)	at org.activiti.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:156)	at activitiTest1.ActTest.deployeTest(ActTest.java:53)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)	at java.lang.reflect.Method.invoke(Unknown Source)	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)	at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)	at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)	at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:233)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87)	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:176)	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)Caused by: java.lang.RuntimeException: Could not validate XML with BPMN 2.0 XSD	at org.activiti.bpmn.converter.BpmnXMLConverter.convertToBpmnModel(BpmnXMLConverter.java:262)	at org.activiti.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:185)	... 43 moreCaused by: org.xml.sax.SAXParseException; lineNumber: 19; columnNumber: 25; cvc-complex-type.2.4.b: 元素 'bpmndi:BPMNEdge' 的内容不完整。应为 '{"http://www.omg.org/spec/DD/20100524/DI":waypoint}' 之一。	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)	at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(Unknown Source)	at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(Unknown Source)	at javax.xml.validation.Validator.validate(Unknown Source)	at org.activiti.bpmn.converter.BpmnXMLConverter.validateModel(BpmnXMLConverter.java:196)	at org.activiti.bpmn.converter.BpmnXMLConverter.convertToBpmnModel(BpmnXMLConverter.java:251)	... 44 more

一开始,我以为是代码的问题,但是检查了很久之后实在是看不出什么问题,流程部署代码如下:

@Autowired	private RepositoryService repositoryService;	/**	 * 部署流程定义	 * 	 * @author:tuzongxun	 * @Title: deployeTest	 * @param	 * @return void	 * @date Mar 16, 2016 11:16:37 AM	 * @throws	 */	@Test	public void deployeTest() {		String modelId = "40001";		try {			Model modelData = repositoryService.getModel(modelId);			ObjectNode modelNode = (ObjectNode) new ObjectMapper()					.readTree(repositoryService.getModelEditorSource(modelData							.getId()));			byte[] bpmnBytes = null;			BpmnModel model = new BpmnJsonConverter()					.convertToBpmnModel(modelNode);			bpmnBytes = new BpmnXMLConverter().convertToXML(model);			String processName = modelData.getName() + ".bpmn20.xml";			Deployment deployment = repositoryService.createDeployment()					.name(modelData.getName())					.addString(processName, new String(bpmnBytes)).deploy();		} catch (Exception e) {			e.printStackTrace();		}	}

当确定代码没有问题之后,又把原因锁定到了jar包上。但是换了很多包之后依旧没能解决问题,于是只好从头到尾重新再搭一遍环境,结果竟然成功。
无奈之中,我只好把两次的所有文件对比了一遍,终于找出了问题,原来竟然是我改动了stencilset.json这个文件,把其中的部分英文改成了中文。

至此,自定义流程的第二步,流程定义的部署也成功实现,自己坑了自己一把。

转载地址:http://subbl.baihongyu.com/

你可能感兴趣的文章
聊聊eureka的delta配置
查看>>
Masonry 源码解读(下)
查看>>
Swift如何给应用添加3D Touch菜单
查看>>
JQuery文本框水印插件的简单实现
查看>>
手动fsck修复
查看>>
VBA在Excel中的应用(三)
查看>>
在 Ubuntu 16.04 上安装 LEMP 环境
查看>>
SQL Server profile使用技巧
查看>>
协议中UART的两种模式 【转】
查看>>
SharePoint 2013 Farm 安装指南——Least Privilege
查看>>
C# 温故知新 基础篇(1) C#概述
查看>>
jQuery结合lhgdialog弹出窗口,关闭时出现没有权限错误
查看>>
EXTJS学习系列提高篇:第二十八篇(转载)作者殷良胜,ext2.2打造Ext.form.ComboBox系列--分页显示...
查看>>
如何完成.Net下XML文档的读写操作
查看>>
QTP的那些事--对已经存在Excel文件修改后保存时,会弹出一个询问对话框
查看>>
UVA 11174 Stand in a Line 树dp+算
查看>>
C语言中函数strcpy ,strncpy ,strlcpy的用法【转】
查看>>
mysql join 的同时可以筛选数据
查看>>
Code First开发系列之管理并发和事务
查看>>
Spark SQL概念学习系列之为什么使用 Spark SQL?(二)
查看>>