当前位置: 代码迷 >> JBoss >> jbpm 奇怪的有关问题 couldn't signal token 'Token(/)'
  详细解决方案

jbpm 奇怪的有关问题 couldn't signal token 'Token(/)'

热度:2274   发布时间:2013-02-26 00:00:00.0
jbpm 奇怪的问题 couldn't signal token 'Token(/)'
在mysql中发布了流程后,使用:
public static void main(String[] args) {
JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
  try{
    GraphSession graphSession = jbpmContext.getGraphSession();
    //获取流程实例,这样是从数据库中解析流程实例的最后版本
    ProcessDefinition definition = graphSession.findLatestProcessDefinition("jbpm");
    
    //这里注释掉的是原来使用的代码,这样的话用的是spring生成的流程定义对象,是从xml解析来的
//     ProcessInstance pi = new ProcessInstance(jbpmTemplate.getProcessDefinition());
    ProcessInstance pi = definition.createProcessInstance();
    pi.signal();
  }
  finally{
    jbpmContext.close();
  }
}
使用流程后报了个莫名其妙的问题,应该是找不到去下个节点的路径吧:

Exception in thread "main" org.jbpm.JbpmException: couldn't signal token 'Token(/)' : node 'StartState(start-state1)' doesn't have a default transition
at org.jbpm.graph.exe.Token.signal(Token.java:148)
at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:305)
at com.huang.jbpm.test.testDB.main(testDB.java:20)

下面是processdefinition.xml内容:
<?xml version="1.0" encoding="UTF-8"?>

<process-definition  xmlns=""  name="jbpm">


<start-state name="start-state1">
<transition to="state1"></transition>
</start-state>


<state name="state1">
<transition to="end-state1"></transition>
</state>


<end-state name="end-state1"></end-state>


</process-definition>

------最佳解决方案--------------------------------------------------------
测试了一下你贴的代码,在我的服务器上跑没出现问题。建议你换个运行环境跑下,对比就知道问题所在了。
------其他解决方案--------------------------------------------------------
挺好的问题哦。。。
------其他解决方案--------------------------------------------------------
感谢chengchao123,对比发现是版本问题导致的,貌似某些版本有bug无法正确的由数据库中提取令牌
------其他解决方案--------------------------------------------------------
哈哈!
------其他解决方案--------------------------------------------------------
chengchao123 你的回复能再说一遍吗
  相关解决方案