execution is not in a activity or in a transition

Exception in thread "main" org.jbpm.api.JbpmException: execution is not in a activity or in a transition
	at org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:436)
	at org.jbpm.pvm.internal.cmd.SignalCmd.execute(SignalCmd.java:61)
	at org.jbpm.pvm.internal.cmd.SignalCmd.execute(SignalCmd.java:35)
	at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
	at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:50)
	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
	at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
	at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
	at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.signalExecutionById(ExecutionServiceImpl.java:89)
	at ins.jbpm.test.TestInstance.executeInstance(TestInstance.java:38)
	at ins.jbpm.test.TestInstance.main(TestInstance.java:45)

jbpm中调用executionService.signalExecutionById(pi.getId(),"to 审核");报这个错误,查看数据库中的数据发现时乱码。然后将jbpm的xml改成了英文,不报错了。所以是乱码引起了。这个时候你可以将数据库的编码,jbpm的编码,和项目环境的编码要一致。推荐使用编码UTF-8

你可能感兴趣的:(transition)