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