代码之家  ›  专栏  ›  技术社区  ›  Matthew Murdoch

Drools流人工任务示例:如何防止引发“未找到命名查询”异常?

  •  0
  • Matthew Murdoch  · 技术社区  · 16 年前

    我正试图跟随 Drools Flow 中的示例代码 Human Task documentation 我有以下代码:

    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import org.drools.task.service.TaskService;
    
    // ...
    
    EntityManagerFactory emf = 
      Persistence.createEntityManagerFactory("org.drools.task");
    TaskService taskService = new TaskService(emf, null);
    

    我放了一个 persistence.xml 文件在 META-INF 按规定 here (当我遇到一个XML解析错误(如果我弄错了的话)时,它肯定会被发现,但会引发以下异常:

    Exception in thread "main" java.lang.IllegalArgumentException: 
      Named query not found: UnescalatedDeadlines
    at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(
      AbstractEntityManagerImpl.java:108)
    at org.drools.task.service.TaskService.<init>(TaskService.java:65)
    at org.drools.task.service.TaskService.<init>(TaskService.java:48)
    at com.sample.RuleFlowTest.main(RuleFlowTest.java:32)`
    

    注意,第二个参数 TaskService 是必需的,但在中未提及 the documentation . 在我看来不太可能,但能不能把它 null 我所做的是导致这个问题的原因吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Matthew Murdoch    16 年前

    我复制了这两种方法来阻止这一例外 persistence.xml orm.xml drools-process-task-5.0.1.jar/META-INF (在 ORM XML 进入我的建筑 META-INF 目录。

    不过,我现在又有一个例外( java.lang.NoClassDefFoundError: antlr/ANTLRException 从休眠开始…

    修复 antlr/ANTLRException 问题我下载了最新的休眠分发( hibernate-distribution-3.3.2.GA-dist.zip )并添加 antlr-2.7.6.jar 来自 lib 类路径的目录。

    需要这么复杂吗?

    推荐文章