JBPM 6.0 Final使用心得笔记(2)

// 创建transaction
      <New>          <Arg>
            <Call />
          </Arg>
        </New> 
      //其他配置
    <Call>
          <Set>jetty-btm-node0</Set>
          <Set><SystemProperty default="." />/btm1.tlog</Set>
          <Set><SystemProperty default="." />/btm2.tlog</Set>
        </Call>
       
        <Call>
          <Arg>
            <New/>
          </Arg>
          </Call>
 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 webapp下web-inf中的bean.xml
 ////////////////////////////////////////////////////
  <m:CMTBTMTransaction>
    <s:modifies />
  </m:CMTBTMTransaction>

<m:BTMTransactionManagerSynchronizations>
    <s:modifies />
  </m:BTMTransactionManagerSynchronizations>

////////////////////////////////////////////////////
 web.xml
 /////////////////////////////////////////////////////////////////
 <resource-env-ref>
    <resource-env-ref-name>jdbc/jbpm</resource-env-ref-name>
    <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
  </resource-env-ref>

/////////////////////////////////////////////////////////////////

2014,5,23
昨天有人向我询问如何输出process instance 状态图。目前jbpm6.0console界面与整个后台通信使用GWT技术,导致每个界面与console绑定非常紧,但是我们使用jbpm6的时候往往希望把表单输出和状态图输出拿到自己的应用中去。这里我讲讲自己在实现过程中的心得体会。

流程状态图:

status

显示该状态图的方式与jbpm6原生的状态图类似,利用了流程设计器只读时的展示功能,把对应的流程定义json文件经过加工(修改配色),显示到浏览器上。

步骤如下:
1,界面上include三个关键的js文件
js/conpressed/designer-core.js
 js/conpressed/designer-plugins.js
 js/conpressed/designer-utils.js
 2,生成需要的json in java
 ProcessSummary ps = _dataServiceEntryPoint.getProcessById(pis.getDeploymentId(), pis.getProcessId());
 String bpmn2in = new String(Base64.decodeBase64(ps.getEncodedProcessSource()), "UTF-8");

Definitions def = ((JbpmProfileImpl) profile).getDefinitions(bpmn2in);
 JBPMBpmn2ResourceImpl bpmn2resource = (JBPMBpmn2ResourceImpl) rSet.createResource(URI.createURI("virtual.bpmn2"));

bpmn2resource.getContents().add(def);
 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 bpmn2resource.save(outputStream, new HashMap<Object, Object>());
 String revisedXmlModel = outputStream.toString();
 revisedXmlModel = revisedXmlModel.replace("utf-8-start-chars", "&#");
 String jsonStr = profile.createUnmarshaller().parseModel(revisedXmlModel, profile, "ReadOnlyService");

3,界面上js代码

editor_parameters=source.evalJSON();
ORYX.EDITOR = new ORYX.Editor(editor_parameters);

完成对json的显示。

JBPM4.4部署在Tomcat6以上的版本jar包冲突

JBPM工作流开发指南 PDF

JBPM流程实例(PV)Process Variables

JBPM流程实例(PI)Process Instance

JBPM流程部署校验

JBPM 的详细介绍请点这里
JBPM 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c74d44291b95673b847935501060eeb3.html