0 Replies Latest reply on Jan 10, 2012 5:54 AM by luhong

    problem with MVEL:Possible incorrect version of ASM present (3.0 required).  Disabling JIT compiler.  Reflective Optimizer will be used.

    luhong

      hi,

       

      I use bpmn2 eclipse plugin create a process flow and program a test.

       

      I get below output messages:

      (null: 2, 307): cvc-elt.1: Cannot find the declaration of element 'bpmn2:definitions'.

      (null: 33, 63): cvc-elt.4.2: Cannot resolve 'dc:Point' to a type definition for element 'di:waypoint'.

      (null: 34, 63): cvc-elt.4.2: Cannot resolve 'dc:Point' to a type definition for element 'di:waypoint'.

      (null: 37, 63): cvc-elt.4.2: Cannot resolve 'dc:Point' to a type definition for element 'di:waypoint'.

      (null: 38, 63): cvc-elt.4.2: Cannot resolve 'dc:Point' to a type definition for element 'di:waypoint'.

      java.lang.NullPointerException

      at org.mvel2.optimizers.OptimizerFactory.<clinit>(OptimizerFactory.java:45)

      at org.drools.base.mvel.MVELCompilationUnit.compile(MVELCompilationUnit.java:419)

      at org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:243)

      at org.jbpm.process.instance.impl.MVELAction.compile(MVELAction.java:70)

      at org.jbpm.process.builder.dialect.mvel.MVELActionBuilder.build(MVELActionBuilder.java:131)

      at org.jbpm.process.builder.ActionNodeBuilder.build(ActionNodeBuilder.java:25)

      at org.jbpm.compiler.ProcessBuilderImpl.processNodes(ProcessBuilderImpl.java:213)

      at org.jbpm.compiler.ProcessBuilderImpl.buildNodes(ProcessBuilderImpl.java:199)

      at org.jbpm.compiler.ProcessBuilderImpl.buildProcess(ProcessBuilderImpl.java:163)

      at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:252)

      at org.drools.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:564)

      at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:608)

      at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:37)

      at com.test.workflow.BPMN2Test.main(BPMN2Test.java:14)

      [MVEL] Notice: Possible incorrect version of ASM present (3.0 required).  Disabling JIT compiler.  Reflective Optimizer will be used.

      hello world

       

      Could anybody tell me how to resolve above NullPointerException. I don't find any solution from google's results.

       

      and where I can find an full guider of how to use the BPMN2 eclipse plugin, thanks.

       

      Forgive me for my bad english.Thanks very much.

       

       

      bpmn file:

      <?xml version="1.0" encoding="UTF-8"?>

      <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1">

        <bpmn2:collaboration id="Collaboration_1">

          <bpmn2:participant id="Participant_1" name="Internal" processRef="com.test.login"/>

        </bpmn2:collaboration>

        <bpmn2:process id="com.test.login" name="loginProcess" isClosed="true">

          <bpmn2:startEvent id="StartEvent_1" name="Start">

            <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>

          </bpmn2:startEvent>

          <bpmn2:endEvent id="EndEvent_1" name="End">

            <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>

          </bpmn2:endEvent>

          <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1"/>

          <bpmn2:scriptTask id="ScriptTask_1" name="Script Task" scriptFormat="">

            <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>

            <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>

            <bpmn2:script>System.out.println(&quot;hello world&quot;);</bpmn2:script>

          </bpmn2:scriptTask>

          <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1"/>

        </bpmn2:process>

        <bpmndi:BPMNDiagram id="_L0Uu0DtuEeGfR6QZoDLdng">

          <bpmndi:BPMNPlane id="_L0Uu0TtuEeGfR6QZoDLdng" bpmnElement="com.test.login">

            <bpmndi:BPMNShape id="BPMNShape_StartEvent_1" bpmnElement="StartEvent_1">

              <dc:Bounds height="51.0" width="36.0" x="90.0" y="170.0"/>

            </bpmndi:BPMNShape>

            <bpmndi:BPMNShape id="BPMNShape_EndEvent_1" bpmnElement="EndEvent_1">

              <dc:Bounds height="51.0" width="36.0" x="450.0" y="170.0"/>

            </bpmndi:BPMNShape>

            <bpmndi:BPMNShape id="BPMNShape_ScriptTask_1" bpmnElement="ScriptTask_1">

              <dc:Bounds height="50.0" width="110.0" x="230.0" y="163.0"/>

            </bpmndi:BPMNShape>

            <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_ScriptTask_1">

              <di:waypoint xsi:type="dc:Point" x="126.0" y="188.0"/>

              <di:waypoint xsi:type="dc:Point" x="230.0" y="188.0"/>

            </bpmndi:BPMNEdge>

            <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_6" sourceElement="BPMNShape_ScriptTask_1" targetElement="BPMNShape_EndEvent_1">

              <di:waypoint xsi:type="dc:Point" x="340.0" y="188.0"/>

              <di:waypoint xsi:type="dc:Point" x="450.0" y="188.0"/>

            </bpmndi:BPMNEdge>

          </bpmndi:BPMNPlane>

        </bpmndi:BPMNDiagram>

      </bpmn2:definitions>

       

      java source:

      package com.test.workflow;

      import org.drools.KnowledgeBase;
      import org.drools.builder.KnowledgeBuilder;
      import org.drools.builder.KnowledgeBuilderFactory;
      import org.drools.builder.ResourceType;
      import org.drools.io.ResourceFactory;
      import org.drools.runtime.StatefulKnowledgeSession;
      import org.drools.runtime.process.ProcessInstance;

      public class BPMN2Test {
      public static void main(String[] args) {
        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
        kbuilder.add(ResourceFactory.newClassPathResource("com/test/workflow/flow/loginProcess.bpmn"),
          ResourceType.BPMN2);
        KnowledgeBase kbase = kbuilder.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        ProcessInstance processInstance = ksession.startProcess("com.test.login");
      }
      }