`

JBoss JBPM 5.2.0 中遇到的几个问题及解决方法

 
阅读更多
http://cutelion.blog.hexun.com/71681028_d.html


1. 问题一
(1) Caused by: org.hibernate.HibernateException: Errors in named queries:
TasksAssignedAsPotentialOwnerWithGroups, TasksOwned,
TasksAssignedAsPotentialOwner,
TasksAssignedAsRecipient, TasksAssignedAsTaskStakeholder, TasksAssignedAsExcludedOwner,
TasksAssignedAsPotentialOwnerByGroup, GetSubTasksByParentTaskId, TasksAssignedAsTaskInitiator,
TasksAssignedAsBusinessAdministrator, SubTasksAssignedAsPotentialOwner
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:407)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
    ... 55 more


(2) java.lang.IllegalArgumentException: Named query not found: UnescalatedDeadlines
    at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:108)
    at org.jbpm.task.service.TaskService.<init>(TaskService.java:109)
    at org.jbpm.task.service.TaskService.<init>(TaskService.java:92)

解决办法:src目录下加入 META-INF 文件夹, 将 jbpm-human-task-5.2.0.Final.jar 中的 Taskorm.xml 复制到 META-INF 下面, 并重命名为 orm.xml.


2. 问题二

java.lang.RuntimeException: Unable To initialise TaskService, could not find Operations DSL
    at org.jbpm.task.service.TaskService.<init>(TaskService.java:128)
    at org.jbpm.task.service.TaskService.<init>(TaskService.java:92)


==> 原因是 jbpm-human-task-5.2.0.Final.jar 中的 org.jbpm.task.service 包中没有 operations-dsl.mvel 文件。
如下源代码:
        // Search operations-dsl.mvel, if necessary using superclass if TaskService is subclassed
        InputStream is = null;
        for (Class c = getClass(); c != null; c = c.getSuperclass()) {
            is = c.getResourceAsStream("operations-dsl.mvel");
            if (is != null) {
                break;
            }
        }
        if (is == null) {
            throw new RuntimeException("Unable To initialise TaskService, could not find Operations DSL");
        }
        Reader reader = new InputStreamReader(is);
        try {
            operations = (Map<Operation, List<OperationCommand>>) eval(toString(reader),  vars);
        } catch (IOException e) {
            throw new RuntimeException("Unable To initialise TaskService, could not load Operations DSL");
        }

解决办法:在工程中新建包结构org.jbpm.task.service,并在其中加入从jbpm-human-task-5.1.0.Final.jar中的org.jbpm.task.service中的operations-dsl.mvel。
或者重新打包 jbpm-human-task-5.2.0.Final.jar 且在其中加入 operations-dsl.mvel 到 org.jbpm.task.service 包中。


3. 问题三
java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature

解决办法:删除 el-api.jar 即可。

4. 问题四

ERROR drools.persistence.SingleSessionCommandService.rollbackTransaction  - Could not commit session
java.lang.IllegalArgumentException: Named query not found: ProcessInstancesWaitingForEvent

    at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:108)
    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)


解决办法: src --> META-INF --> orm.xml 中加入
    <named-query name="ProcessInstancesWaitingForEvent">
        <query>
            select
            processInstanceInfo.processInstanceId
            from
            ProcessInstanceInfo processInstanceInfo join processInstanceInfo.eventTypes eventTypes
            where
            eventTypes = :type
          </query>
    </named-query>


整合Hibernate4.2.x的时候碰到的问题
1. Could not determine type for: java.util.Set, at table: ProcessInstanceInfo, for columns: [org.hibernate.mapping.Column(eventTypes)]
https://community.jboss.org/message/643956Peter Brewer的解决方

2. javax.persistence.spi.PersistenceUnitInfo.getValidationMode()
解决一: http://openjpa.208410.n2.nabble.com/Error-running-on-Spring-3-td5781867.html
解决二 http://blog.csdn.net/lusi64/article/details/7717072
我是这样解决
使用这个http://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api,替换jpa1.0的包。
先使用:
<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
			<version>1.0.1.Final</version>
		</dependency>

再排除依赖
<dependency>
			<groupId>org.drools</groupId>
			<artifactId>drools-spring</artifactId>
			<version>${drools.version}</version>
			<exclusions>
				<exclusion>
					<groupId>javax.persistence</groupId>
					<artifactId>persistence-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

drools-persistence-jpa,drools-spring,jbpm-human-task, jbpm-bam都要排除
分享到:
评论

相关推荐

    jbpm 5.0 jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版

    jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版

    JBoss jBPM

    JBoss jBPM 是一个复杂的可扩展的工作流管理系统. JBoss jBPM 有直观的流程语言来表示商业流程图的术语比如,任务,异步通讯的等待状态,定时器,自动操作等等.把这些操作绑在一起,, JBoss jBPM 就有了最强大和易扩展性...

    JBoss JBPM4请假流程示例

    JBoss JBPM4是一个开源的工作流管理系统,它为企业提供了一套灵活且强大的业务流程自动化解决方案。这个示例是关于如何在JBoss JBPM4平台上实现一个简单的请假流程,帮助开发者了解如何定义、执行和管理业务流程。 ...

    jboss --JBPM介绍及应用

    ### jBoss --JBPM介绍及应用 #### 一、引言与概述 JBoss jBPM(Job Business Process Management)是JBoss提供的一个强大的工作流引擎,它支持业务流程管理和自动化,尤其适用于Java环境中开发WS(Web Services)...

    jboss jbpm下的业务流程管理实例(内有文档非常)

    jboss jbpm下的业务流程管理实例(内有文档非常)jboss jbpm下的业务流程管理实例(内有文档非常)

    Business Process Management with JBoss jBPM.pdf

    本书介绍了如何利用JBoss jBPM提供的工具来进行实时监控,并提供了数据分析方法,帮助读者识别潜在问题并进行优化调整。 5. **案例研究**:通过多个实际案例,作者展示了如何将上述理论应用于具体场景中,这些案例...

    JBoss jBPM 实例说明

    JBoss jBPM 作为一款优秀的开源 BPM 解决方案,在企业级应用中具有广泛的应用前景。通过本文档的介绍,相信读者已经对 jBPM 的基本概念和技术特点有了较为全面的理解。未来随着技术的发展和社区的支持,jBPM 必将...

    使用JBoss ESB和JBPM实现垂直市场解决方案VMS

    直市场解决方案(VMS)是NAVTEQ公司中的一个机构,负责为客户提供定制的解决方案,包括移动门户和导航系统。这些解决方案中包含了NAVTEQ 公司提供的服务以及第三方服务,以客户要求的方式交付组合服务和内容,这些...

    JBossjBPM.rar_工作流引擎

    7. 故障排查:分享在使用过程中可能遇到的问题及解决方法。 四、jBPM的实际应用场景 1. 人力资源管理:用于处理员工招聘、入职、离职等流程。 2. 客户关系管理:在客户服务、销售和营销流程中扮演重要角色。 3. ...

    jbpm-4.3-src.rar_bdf-jbpm4 src _jboss 4.3_jboss jbpm4.3_jbpm-4.3

    jbpm-4.3-src.rar_bdf-jbpm4 src _jboss 4.3_jboss jbpm4.3_jbpm-4.3 这个压缩包文件包含的是JBOSS jBPM4.3的源代码,这是一个用于业务流程管理(BPM)的开源框架。jBPM是一个强大的工具,它提供了流程定义、执行和...

    Business Process Management with JBoss jBPM

    书中还提供了多个实践案例,展示了如何利用jBPM解决实际问题。这些案例覆盖了不同行业的应用场景,如金融服务、制造业和医疗保健等。通过对这些案例的学习,读者可以更好地理解如何将理论知识应用于实践中。 **6. ...

    jboss jbpm 5 developer guide

    jBPM5是JBoss企业业务流程管理(Business Process Management,简称BPM)的一个核心项目,旨在为Java开发者提供一个易于使用的工作流和业务流程管理解决方案。 BPM作为一种管理企业流程的实践方法,通常不是一夜...

    JBoss jBPM jPDL中文指南

    JBoss jBPM(Java Business Process Management)是一个开源的工作流引擎,主要用于实现业务流程管理和任务协调。jPDL(jBPM Process Definition Language)是jBPM早期版本中使用的一种流程定义语言,它提供了一种...

    JBoss_jBPM_jPDL用户开发手册_3.2.3.pdf 中文-(转)zhangym

    jBPM:企业级工作流解决方案** jBPM是一个灵活且功能强大的工作流引擎,它允许开发者设计、执行、监控和管理业务流程。jBPM的主要特点包括: - **流程建模**:使用jPDL进行图形化建模,简化了复杂的业务流程设计...

    Spring与JBoss JBPM工作流集成开发指南

    JBPM是JBoss项目下的一个开源工作流引擎,具有高度可定制性和灵活性。本文档主要讨论JBPM与Spring框架集成的相关高级内容,基础知识请参考提供的参考资料。 **设计要点**: - **配置管理**: 如何在Spring框架中配置...

    Jboss-Jbpm-Getting-Started.pdf

    JBoss jBPM(jBusiness Process Management)是JBoss家族中的一个开源工作流引擎,用于实现业务流程管理(BPM)解决方案。它提供了一套完整的工具集,包括流程设计、执行监控以及流程优化等,旨在帮助开发人员和业务...

    jboss-eap-5.2.0.zip

    标题中的"jboss-eap-5.2.0.zip"指的是JBoss EAP的5.2.0版本的压缩包,这是在JDK 1.6环境下运行的。这个版本的发布对于那些需要维护或升级旧系统的开发者来说至关重要,因为它提供了对较早技术栈的支持。 **JBoss ...

    用JBoss jBPM管理业务流程

    总结起来,JBoss jBPM 是一个功能丰富的BPM平台,它结合了API、DSL和图形工具,为企业提供了一套完整的业务流程管理解决方案。无论是流程设计、执行还是监控,jBPM 都能帮助企业提升业务敏捷性和适应性,降低开发和...

Global site tag (gtag.js) - Google Analytics