1 Reply Latest reply on Jul 15, 2010 5:29 PM by jDev Dev

    JBPM mail using JSF expressions, how?

    jDev Dev Newbie

      Hi

       

      Developement: I have developed a process definition in JBPM (3.2.3) and integrated it within a JSF web application. I am using managed-beans (which I have set in "faces-config").

      Goal: I would like to use the values that the user enters in the web interface as the values for the mail.

      Outcome/Issue: The email that is being sent is empty and includes nothing. It seems that my beans are no being recognized by jbpm mail

       

      How do I use inputs values by user in interface (JSF) as values for jbpm mail attributes such as to, subject, text, etc...?

      Which expressions do I use?

       

      See my code below:

       

      This is my processdefinition.xml section for mail

      <timer duedate="5 seconds" name="TimerWebApp-2">
                   <action class="org.jbpm.mail.Mail">
                     <to>
                          #{timerBean.getOwner}
                      </to>
                      <subject>
                          title: #{timerBean.getTitle}
                      </subject>
                      <text>
                          desc: #{timerBean.getSummary}
                       </text>
                  </action>
              </timer>

       

      thanks for the assistance

        • 1. Re: JBPM mail using JSF expressions, how?
          jDev Dev Newbie

          ... And  this is my class that deploys the process and starts job executions

          public void execute() throws Exception 
              {
                  ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("TimerProcess/processdefinition.xml");
                  JbpmContext jbpmContext= JbpmConfiguration.getInstance().createJbpmContext();
                 
                  try{
                      // Create an instance of the process definition.
                      ProcessInstance instance = processDefinition.createProcessInstance();
                      jbpmContext.deployProcessDefinition(processDefinition);
                    
                      instance.signal("trSetTimer");
                      JobExecutor jobExecutor =  jbpmContext.getJbpmConfiguration().getJobExecutor();

                      if  (jobExecutor==null) {
                          throw new JbpmException("no job executor configured in resource  ");
                          }  
                      jobExecutor.start();

                      jbpmContext.save(instance);
                  }finally{
                      jbpmContext.close();
                       }        
                  }
          }