2009-09-29 6 views
0

Je suis en train de suivre l'exemple de code Drools Flow dans le Human Task documentation et j'ai le code suivant:Drools Flow Human Exemple de tâche: Comment éviter que l'exception 'Requête nommée introuvable' soit levée?

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); 

Je mets un fichier persistence.xml dans META-INF comme here spécifié (qui est certainement obtenir ramassé que je reçois une erreur d'analyse XML si je Mutilation), mais l'exception suivante est levée:

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)` 

Notez que le second paramètre à TaskService est nécessaire, mais pas mentionné dans the documentation. Il me semble peu probable, mais pourrait-il être que le réglage à null comme je l'ai fait cause ce problème?

Répondre

1

empêché cette exception je en copiant les deux persistence.xml et orm.xml de drools-process-task-5.0.1.jar/META-INF (les UnescalatedDeadlines nommés requête étant précisé dans orm.xml) dans mon répertoire construit META-INF.

Cependant, je suis maintenant obtenir une autre exception (java.lang.NoClassDefFoundError: antlr/ANTLRException de veille prolongée) ...

Pour résoudre le problème antlr/ANTLRException J'ai téléchargé la dernière distribution de Mise en veille prolongée (hibernate-distribution-3.3.2.GA-dist.zip) et ajouté antlr-2.7.6.jar à partir du répertoire lib au classpath.

Faut-il être aussi compliqué?

Questions connexes