在整合好s2sh后,把jbpm也整合进来成功了,第一次发布流程成功,当停止了tomcat服务后,再次发布相同的流程时就会报一个错误:java.lang.String cannot be cast to java.lang.Long, at org.jbpm.pvm.internal.repository.DeploymentImpl.getProcessDefinitionVersion(DeploymentImpl.java:225),看了原码,确实是有一个类型转换,在取了pdversion后,强制转换成Long,可就找不到问题所在,后来直接到数据库的JBPM4_DEPLOYPROP表把字段为key_列的所有pdversion去掉,然后再次发布也能成功,但流程的版本是第一,感觉这个pdvesion有问题,但解决不了,这问题纠结了很久,搞得蛋都要碎了,哎,高手们,求助,求助啊!!
错误的部分信息:
信息: exception while executing command org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl@5a7ff7
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at org.jbpm.pvm.internal.repository.DeploymentImpl.getProcessDefinitionVersion(DeploymentImpl.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.jbpm.pvm.internal.repository.DeploymentImpl_$$_javassist_59.getProcessDefinitionVersion(DeploymentImpl_$$_javassist_59.java)
at org.jbpm.pvm.internal.repository.ProcessDeployer.deploy(ProcessDeployer.java:86)
at org.jbpm.pvm.internal.repository.DeployerManager.deploy(DeployerManager.java:46)
at org.jbpm.pvm.internal.repository.RepositorySessionImpl.getObject(RepositorySessionImpl.java:130)
at org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl.getProcessDefinition(ProcessDefinitionQueryImpl.java:92)
at org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl.execute(ProcessDefinitionQueryImpl.java:80)