该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-20
先谢谢,linliangyi2007 的贡献!我在部署中出现了一个问题:我把流程持久化到数据时,有异常:
org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. 对这个异常在网上找到资料是 processdefinition.xml 的utf-8的编码引起,是dom4j.jar的问题,jbmp3.2自带的是1.4,我重新下载了个dom4j-1.6.1.jar,替换原来 的dom4j.jar。但部署时还是出现上述异常问题。 我的持久化代码: /** * deploy persistent */ public void testDeployProcessDefinition() { ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("firstflow/processdefinition.xml"); JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); try { jbpmContext.deployProcessDefinition(processDefinition); } finally { jbpmContext.close(); } } 备注说明:processdefinition.xml 还是linliangyi2007 贡献的中原文件。没有任何改动 。 由于是初次学习jbpm,不知道哪位朋友,遇到过这个问题,请多指教。 |
|
返回顶楼 | |
发表时间:2008-05-20
纠正说明:jbmp3.2自带的dom4j已经是1.6的了。
|
|
返回顶楼 | |
发表时间:2008-05-20
问题已经搞清了。是我的代码失误:ProcessDefinition.parseXmlString("firstflow/processdefinition.xml");
应该是ProcessDefinition.parseXmlResource("firstflow/processdefinition.xml"); 小小的失误竟然浪费2个小时。当时心里清楚是要用parseXmlResource。可就是用parseXmlString。。。。。。 教训呀!!!! |
|
返回顶楼 | |
发表时间:2008-05-24
随便写的一个简单的deployProcess方法:
public void deployProcess() { jbpmContext = jbpmConfiguration.createJbpmContext(); try { ProcessDefinition processDefinition = ProcessDefinition.parseXmlString( "<process-definition name='hello world'>" + " <start-state name='start'>" + " <transition to='s' />" + " </start-state>" + " <state name='s'>" + " <transition to='end' />" + " </state>" + " <end-state name='end' />" + "</process-definition>" ); jbpmContext.deployProcessDefinition(processDefinition); } finally { jbpmContext.close(); } } |
|
返回顶楼 | |
发表时间:2008-06-10
林兄,我的运行十分正常,但就发现有DB测试打印任务这个方法时总是内容为空,奇怪了!
问题是在: List<TaskInstance> coll = jbpmContext.getTaskMgmtSession().findTaskInstancesByProcessInstance(pi); System.out.println("coll size:"+coll.size()); //为什么这里总是size为0 |
|
返回顶楼 | |
发表时间:2008-08-13
谢谢分享,我在学习中遇到点问题,进行标准测试时报下面的错误,请帮助解答一下
ti.actor = DepartmentManager Exception in thread "main" org.jbpm.JbpmException: task node does not have leaving transition '部门经理审批通过' at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:419) at com.firstflow.FirstFlowProcessDBTest.approveByManager(FirstFlowProcessDBTest.java:140) at com.firstflow.FirstFlowProcessDBTest.test6000YuanApplication(FirstFlowProcessDBTest.java:47) at com.firstflow.FirstFlowProcessDBTest.main(FirstFlowProcessDBTest.java:33) |
|
返回顶楼 | |
发表时间:2008-08-25
谢谢楼主的讲解,我这里有个疑问,为什么在经理审批的时候才指定经理,而不是在申请的时候就指定审批的经理,这样经理上线以后才能知道自己有那个Task.
|
|
返回顶楼 | |
发表时间:2008-08-26
引用 谢谢楼主的讲解,我这里有个疑问,为什么在经理审批的时候才指定经理,而不是在申请的时候就指定审批的经理,这样经理上线以后才能知道自己有那个Task. 这个完全是看业务设计的需要咯,没有一定由什么时候来指定执行者的。jBPM都可以支持的 |
|
返回顶楼 | |
发表时间:2008-09-03
楼主我有个问题,如果填写借款金额以后,等待manage审批,但流定义可以在manage审批之前可以修改,这个流程怎么定义啊?
|
|
返回顶楼 | |
发表时间:2008-09-05
引用 楼主我有个问题,如果填写借款金额以后,等待manage审批,但流定义可以在manage审批之前可以修改,这个流程怎么定义啊? 什么叫“流定义”啊?! |
|
返回顶楼 | |