2013-03-26 2 views
0

Я получаю приведенное ниже исключение при создании processInstnace через файл bpmn и хочу получить задание после его создания. Ниже показана трассировка стека.jbpm 5 создать экземпляр процесса с помощью файла bpmn и получить сведения о задаче

java.lang.NoSuchMethodError: org.drools.marshalling.impl.MarshallingConfigurationImpl.getObjectMarshallingStrategyStore()Lorg/drools/marshalling/ObjectMarshallingStrategyStore; 
at org.jbpm.task.utils.ContentMarshallerHelper.marshal(ContentMarshallerHelper.java:54) 
at org.jbpm.process.workitem.wsht.AbstractHTWorkItemHandler.createTaskContentBasedOnWorkItemParams(AbstractHTWorkItemHandler.java:164) 
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.executeWorkItem(GenericHTWorkItemHandler.java:179) 
at org.drools.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem(DefaultWorkItemManager.java:73) 
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:101) 
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) 
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) 
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150) 
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49) 
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41) 
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) 
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35) 
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:188) 
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:302) 
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:124) 
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1099) 
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:302) 
at com.sample.TaskServiceMinaSyncTest.regularFlowTest(TaskServiceMinaSyncTest.java:108) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

java.lang.NullPointerException 
at com.sample.BaseTest.tearDown(BaseTest.java:94) 
at com.sample.TaskServiceMinaSyncTest.tearDown(TaskServiceMinaSyncTest.java:73) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) 
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36) 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

Я использую тебя follwoing фрагмент кода:

KnowledgeBase kbase = readKnowledgeBase(); 
    StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); 
    GenericHTWorkItemHandler htHandler = createTaskHandler(ksession); 
    ksession.getWorkItemManager().registerWorkItemHandler("Human Task",htHandler); 

    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("employee", "ABC"); 
    ksession.startProcess("com.sample.bpmn.hello", params); 
    System.out.println("Process started ..."); 


//Creates a local task service and attaches it to a human task handler 
    public GenericHTWorkItemHandler createTaskHandler(StatefulKnowledgeSession ksession) { 
     TaskService ts = new TaskService(Persistence.createEntityManagerFactory("org.jbpm.task"), 
       SystemEventListenerFactory.getSystemEventListener()); 
     LocalTaskService taskService = new LocalTaskService(ts); 
     LocalHTWorkItemHandler taskHandler = new LocalHTWorkItemHandler(taskService, ksession); 
//  taskHandler.connect(); 
     this.service = taskService; 
     return taskHandler; 
    } 

я использовал происходит некорректно баночки (прилагается скриншот):

[введите описание изображения здесь] [1]

Получаем эту ошибку в строке startProcess. Пожалуйста, помогите мне решить эту проблему.

ответ

0

Кажется, вы используете несоответствие версий jBPM и Drools. Какую версию jBPM вы используете? Предполагая, что вы используете jBPM 5.4, вы должны использовать Drools 5.5 jars.

Смежные вопросы