在使用jbpm3.2整合ssh时遇到了
java.lang.NoSuchFieldError: STRING at org.jbpm.identity.hibernate.PermissionUserType.错误。经过不懈努力,终于解决了。
参考文章:https://community.jboss.org/thread/159874
问题原因:jbpm3.2引用了过期的方法
问题解决:参考文章中给出的解决方法是修改jbpm-identity.jar并重新打包为jar文件替换原有的jbpm-identity.jar.
但是我在打包出现了错误,于是我采用的方法是将重新编译的class文件替换原有的class文件:
1.在北风oa项目中建立一个org.jbpm.identity.hibernate包将jbpm-jpdl-3.2.3\src\identity\org\jbpm\identity\hibernate包中的代码复制到其中
2.修改IdentitySessionFactory.java和PermissionUserType.java类
1)将org/jbpm/identity/hibernate/IdentitySessionFactory中
javaevictCachedIdentities()方法里面的evict 全改为getCache().evictEntityRegion(有3处)
public void evictCachedIdentities() {
sessionFactory.getCache().evictEntityRegion(User.class);
sessionFactory.getCache().evictEntityRegion(Membership.class);
sessionFactory.getCache().evictEntityRegion(Group.class);
}
2)在org/jbpm/identity/hibernate/PermissionUserType.java中将Hibernate.STRING改为StandardBasicTypes.STRING(有3处)
private static final Type[] PROPERTY_TYPES = new Type[]{StandardBasicTypes.STRING,
StandardBasicTypes.STRING, StandardBasicTypes.STRING};
public Type[] getPropertyTypes() {
return PROPERTY_TYPES;
}
3.将北风oa项目导出为jar文件,将其中的IdentitySessionFactory.class和PermissionUserType.class替换原jbpm-identity.jar中相同名字的文件
4.将修改后的的jbpm-identity.jar替换项目中的jbpm-identity.jar
重新运行项目便不会在出现错误。
如果需要修改后的jbpm-identity.jar后面我上传了,需要的话请下载。
分享到:
相关推荐
解决 java.lang.NoSuchFieldError: STRING at org.jbpm.identity.hibernate.PermissionUserType. 不用jbpm的jbpm-identity.jar 用这个就好
jbpm jbpm4.3.jar DDDDDDDD
【jbpm-4.4.zip part03】这个压缩文件是关于jbpm 4.4版本的组成部分,jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的功能。jbpm 4.4是该系统的一...
12. **org.jbpm.pvm.internal.jms**: 与JMS(Java Message Service)集成,用于处理异步消息传递,例如通过`JmsMessageSession`和`JmsMessageUtil`与`org.jbpm.api.job.Message`进行交互。 13. **org.jbpm.pvm....
3. jbpm.wire.bindings.xml:这可能涉及到jbpm中的信号和事件绑定。在jbpm中,信号和事件可以触发流程的某些行为,例如流程的跳转或结束。理解这些绑定有助于了解流程如何响应外部事件。 4. jbpm.task.hbm.xml:...
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
4. **配置文件**(如jbpm.cfg.xml):配置jBPM引擎的设置,如数据源、事务管理等。 5. **部署单元**(.ear或.war文件):将所有组件打包成可部署在应用服务器上的应用。 要运行这个实例,你需要: 1. 安装并配置一...
jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...
1. `org.jbpm.api.JbpmException: database was not clean after test`: 这个异常通常出现在单元测试环境中,原因是测试过程中流程未完成,但尝试删除流程定义。为了解决这个问题,确保在每个测试用例结束后,正确...
jbpm.mysql.create.sql jbpm mysql建表语句
jbpm-jpdl.jar jbpm-jpdl.jar
jbpm-identity.jar jbpm-identity.jar
在IT行业中,尤其是在Java开发领域,`jar`文件(Java Archive)是不可或缺的一部分。这些文件是Java类库的集合,通常包含编译后的Java类、资源文件以及元数据,用于构建和部署Java应用程序。在本例中,我们讨论的是...
JBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sql
JBPM,全称为Java Business Process Management,是一款开源的工作流管理系统,专为企业的业务流程自动化而设计。它提供了全面的工作流解决方案,包括流程定义、执行、监控以及管理,从而帮助企业优化业务流程,提高...
在Java开发领域,JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它提供了对企业业务流程的建模、部署、执行和监控的能力。本文将深入探讨JBPM与Spring框架的整合以及相关jar文件...
【jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi】是一个包含Java实现的Jbpm Demo的压缩包,它主要用于展示如何利用Jbpm来设计和执行一个简单的请假流程。这个Demo是针对开发者和对业务流程...
- **JPA持久化**:JBPM支持JPA(Java Persistence API),可以方便地将流程实例和相关数据存储在关系数据库中。 - **RESTful API**:JBPM提供RESTful接口,方便远程调用和监控。 - **Maven插件**:通过Maven插件...
9. **集成能力**:jBPM与许多其他技术和平台有良好的集成,如Java EE应用服务器(如JBoss EAP)、Spring框架、Maven构建工具等,使得它可以无缝地融入现有的企业IT架构。 10. **社区支持**:作为开源项目,jBPM拥有...
5. **集成能力**:jbpm可以轻松与Java EE、Spring、EJB等环境集成,同时也支持与各种数据存储系统的连接,如JPA、Hibernate等。 6. **持久化支持**:jbpm提供了对流程实例、任务和其他元数据的持久化存储,确保了...