Activiti 5.17.0在Modeler上做了很大的变化,集成比以前貌似简单些,参考集成activiti 5.16.4中modeler,完成集成。
1、下载Activiti 5.17的源代码
2、复制Activiti Modeler相关的组件依赖到pom.xml(注意:更新com.fasterxml.jackson.databind的版本为2.4.4,否则保存时报错,但不影响使用)。
3、在Spring-Activiti.xml中增加以下bean的申明。
<!-- json处理 -->
<beanid="objectMapper"class="com.fasterxml.jackson.databind.ObjectMapper"></bean>
<!-- Rest处理 -->
<beanid="restResponseFactory"class="org.activiti.rest.service.api.RestResponseFactory"></bean>
<beanid="contentTypeResolver"class="org.activiti.rest.common.application.DefaultContentTypeResolver"></bean>
4、将modules\activiti-webapp-explorer2\src\main\webapp\edtior-app整个目录拷贝到工程的webapp/workflow下。
5、将modules\activiti-webapp-explorer2\src\main\webapp\modeler.html文件拷贝到工程的webapp/workflow下。
6、修改edtior-app/app-cfg.js中的contextRoot为自己的工程目录。
7、修改editor-app\editor\oryx.debug.js中的config部分,和自己存放modeler的路径一致:
ORYX.CONFIG.APP_PATH= "/XXX";
ORYX.CONFIG.ROOT_PATH= ORYX.CONFIG.APP_PATH+ "/workflow/editor-app/editor"; //TODO: Remove last slash!!
ORYX.CONFIG.EXPLORER_PATH= ORYX.CONFIG.APP_PATH+ "/workflow/editor-app/explorer";
ORYX.CONFIG.LIBS_PATH= ORYX.CONFIG.APP_PATH+ "/workflow/editor-app/libs";
/**
* Regular Config
*/
ORYX.CONFIG.SERVER_HANDLER_ROOT= ORYX.CONFIG.APP_PATH;
ORYX.CONFIG.SERVER_EDITOR_HANDLER= ORYX.CONFIG.SERVER_HANDLER_ROOT +"/editor";
ORYX.CONFIG.SERVER_MODEL_HANDLER= ORYX.CONFIG.SERVER_HANDLER_ROOT +"/model";
其他类似。
8、在模型发布的时候,需要指定编码字符集为GBK,否则相关中文都是乱码。如下:
BpmnModel model =new BpmnJsonConverter().convertToBpmnModel(modelNode);
byte[] bpmnBytes =newBpmnXMLConverter().convertToXML(model,"GBK");