AnsweredAssumed Answered

loading Spring Form when start activiti process

Question asked by simply_sameer on Jul 25, 2015
Hi,

I'm new to Activiti as well as to Spring and struggling how to use external form in Spring MVC.
As of now I just want to load my Form when application is loaded in Spring. Below is the flow -
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="myProcess" name="My process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="User Task" activiti:formKey="jsp/name.jsp">
      <documentation>Search Document on First Name, Last Name and SSN</documentation>
    </userTask>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <serviceTask id="servicetask1" name="Service Task" activiti:class="org.activiti.examples.spring.EmployeeInfo"></serviceTask>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="servicetask1"></sequenceFlow>
    <sequenceFlow id="flow3" sourceRef="servicetask1" targetRef="endevent1"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
    <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="90.0" y="150.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55.0" width="105.0" x="240.0" y="130.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="510.0" y="160.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
        <omgdc:Bounds height="55.0" width="105.0" x="360.0" y="139.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="125.0" y="167.0"></omgdi:waypoint>
        <omgdi:waypoint x="240.0" y="157.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="345.0" y="157.0"></omgdi:waypoint>
        <omgdi:waypoint x="360.0" y="166.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="465.0" y="166.0"></omgdi:waypoint>
        <omgdi:waypoint x="510.0" y="177.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
"


"
Below is the method called when application loads.
@RequestMapping("/")
public void bookInfo() {
         System.out.println("We are Here");
           runtimeService.startProcessInstanceByKey("myProcess");    
                               System.out.println("We are Here calling");
      }


I'm expecting that as i'm starting a process (and there is no exception w.r.t to starting the process. My form should be load. But I'm getting below exception.

HTTP Status 404 - /SpringMVC/WEB-INF/jsp/.jsp

I know why i'm getting this error but i don't know how to proceed.. I have no issues when i call below method and return jsp name insideModel and view.

@RequestMapping("/")
      public ModelAndViewbookInfo() {
         System.out.println("We are Here");
           runtimeService.startProcessInstanceByKey("myProcess");      
           System.out.println("We are Here calling");
                     return new ModelAndView("name", "command", new BookInfo());
      }
   

But I want Activiti to start the workflow and load my form jsp rather than spring controller doing it for me. please help I have to start one POC.

Outcomes