Java 如何在JBPM中为用户任务编写代码

Java 如何在JBPM中为用户任务编写代码,java,drools,jbpm,Java,Drools,Jbpm,说到JBPM,我是个新手。虽然我已经用脚本任务和用户任务创建了示例应用程序。当我删除用户任务时,bpmn执行得很好。但当我保留UserTask时,它抛出了一个异常 以下是我的代码: package com.Sservlet; import java.io.IOException; import java.util.List; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;

说到JBPM,我是个新手。虽然我已经用脚本任务和用户任务创建了示例应用程序。当我删除用户任务时,bpmn执行得很好。但当我保留UserTask时,它抛出了一个异常

以下是我的代码:

package com.Sservlet;

import java.io.IOException;
import java.util.List;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

import org.drools.KnowledgeBase;
import org.drools.SystemEventListenerFactory;
import org.drools.builder.*;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
import org.jbpm.bpmn2.handler.ServiceTaskHandler;
import org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler;
import org.jbpm.task.*;
import org.jbpm.task.service.*;

public class SServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub

        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

        kbuilder.add(ResourceFactory.newClassPathResource("Jcr.bpmn2"), ResourceType.BPMN2);

        KnowledgeBase kbase = kbuilder.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        CommandBasedWSHumanTaskHandler taskHandler = new CommandBasedWSHumanTaskHandler(ksession);

        ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new ServiceTaskHandler());

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.task");
        TaskService taskService = new TaskService(emf, SystemEventListenerFactory.getSystemEventListener());
        TaskServiceSession taskSession = taskService.createSession();

        // now register new users and groups
        List list = taskSession.getTasksAssignedAsPotentialOwner("John", "en-UK");
        taskHandler.connect();
        ProcessInstance processInstance = ksession.startProcess("TestHandle");

        System.out.println("hello here are");
    }
}
我收到无持久性提供程序异常:

javax.persistence.PersistenceException:没有名为org.jbpm.task的EntityManager的持久性提供程序


我不需要在这里插入任何数据库。这是一个简单的用户任务。有什么解决方案吗?

那是什么样的交错代码格式?编辑:我修正了格式。行:
EntityManagerFactoryEMF=Persistence.createEntityManagerFactory(“org.jbpm.task”)
是说您有一个名为“org.jbpm.task”的实体管理器,但它找不到它。谢谢。但是我已经上传了jar。