AnsweredAssumed Answered

loading Spring Form when start activiti process

Question asked by simply_sameer on Jul 25, 2015
Latest reply on Dec 7, 2018 by bkshitij
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