Hi Ronald,
               Sending you a single java file that contains all things used in 
my process..



package org.jbpm.job.executor;
  | 
  | import java.util.ArrayList;
  | import java.util.Collections;
  | import java.util.HashSet;
  | import java.util.List;
  | import java.util.Set;
  | import java.util.TreeSet;
  | 
  | import org.jbpm.db.AbstractDbTestCase;
  | import org.jbpm.graph.def.Action;
  | import org.jbpm.graph.def.ActionHandler;
  | import org.jbpm.graph.def.ProcessDefinition;
  | import org.jbpm.graph.exe.ExecutionContext;
  | import org.jbpm.graph.exe.ProcessInstance;
  | 
  | public class JobExecutorDbTest extends AbstractDbTestCase {
  | 
  |   static final int nbrOfConcurrentProcessExecutions = 20;
  |   static final int timeout = 60000;
  | 
  |   static Set<String> collectedResults = Collections.synchronizedSet(new 
TreeSet<String>());
  |   static List<Long> allocatedProcessIds = Collections.synchronizedList(new 
ArrayList<Long>());
  | 
  |   @Override
  |   protected void setUp() throws Exception {
  |     super.setUp();
  |     getJbpmConfiguration().getJobExecutor().setNbrOfThreads(4);
  |   }
  | 
  |   @Override
  |   protected void tearDown() throws Exception {
  |     getJbpmConfiguration().getJobExecutor().setNbrOfThreads(1);
  |     super.tearDown();
  |   }
  | 
  |   public void testJobExecutor() {
  |     deployProcessDefinition();
  |     try {
  |      ServiceVO serviceVO = new ServiceVO();
  |      serviceVO.setProcessDefinitionName("SuperStateSample");
  |       initiateProcess(serviceVO);
  |       processJobs(timeout);
  |      // assertEquals(getExpectedResults(), collectedResults);
  |     }
  |     finally {
  |      
  |     }
  |   }
  | 
  |   void deployProcessDefinition() {
  |     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("
  | <process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="SuperStateSample">
  | 
  | 
  |     <start-state name="start-state1">
  |             <transition to="node1"></transition>
  |     </start-state>
  | 
  | 
  |     <node name="node1">
  |             <event type="node-enter">
  |                     <action name="action1" 
class="ActionHandler1.class.getName()"></action>
  |             </event>
  |             <transition to="super-state1"></transition>
  |     </node>
  | 
  |     <super-state name="super-state1">
  |             <node name="node3">
  |                     <event type="node-enter">
  |                             <action name="action3" 
class="ActionHandler1.class.getName()"></action>
  |                     </event>
  |                     <transition to="join1"></transition>
  |             </node>
  |             <node name="node4">
  |                     <event type="node-enter">
  |                             <action name="action4" 
class="ActionHandler1.class.getName()"></action>
  |                     </event>
  |                     <transition to="join1"></transition>
  |             </node>
  |             <decision name="decision1">
  |                     <handler 
class="DecisionHandler1.class.getName()"></handler>
  |                     <transition to="node3" name="node3"></transition>
  |                     <transition to="join1" name="to join1"></transition>
  |             </decision>
  |             <decision name="decision2">
  |                     <handler 
class="DecisionHandler2.class.getName()"></handler>
  |                     <transition to="node4" name="node4"></transition>
  |                     <transition to="join1" name="to join1"></transition>
  |             </decision>
  |             <join name="join1">
  |                     <transition to="node5"></transition>
  |             </join>
  |             <fork name="fork1">
  |                     <transition to="decision1"></transition>
  |                     <transition to="decision2" name="to 
decision2"></transition>
  |             </fork>
  |             <node name="node5">
  |                     <event type="node-enter">
  |                             <action 
class="ActionHandler1.class.getName()"></action>
  |                     </event>
  |             </node>
  |             <node name="node2">
  |                     <event type="node-enter">
  |                             <action name="action2" 
class="ActionHandler1.class.getName()"></action>
  |                     </event>
  |                     <transition to="fork1"></transition>
  |             </node>
  |             <transition to="end-state1"></transition>
  |     </super-state>
  | 
  | 
  |     <end-state name="end-state1"></end-state>
  | 
  | 
  | </process-definition>");
  |     jbpmContext.deployProcessDefinition(processDefinition);
  |  
  |   }
  | 
  |   void initiateProcess(ServiceVO serviceVO) {
  |   JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  |                     String processName = 
serviceVO.getProcessDefinitionName();
  |                     logger.info("processName==="+processName);
  |                     ProcessInstance processInstance = 
jbpmContext.newProcessInstanceForUpdate(processName);
  |                     logger.info("--------------after getting 
processInstance");
  |                     long processInstanceId = processInstance.getId();
  |                     
  |                     Token token = processInstance.getRootToken();
  |                     logger.info("--------------after getting token");
  |                     ContextInstance contextInstance = 
processInstance.getContextInstance();
  |                     logger.info("--------------after getting 
contextInstance");
  |                     contextInstance.setVariable("serviceVO", serviceVO);
  |                     
  |                     /*if(processVariables!=null){
  |                             Set keySet = processVariables.keySet();
  |                             Iterator keyIterator = keySet.iterator();
  |                             String key = null;
  |                             Object obj = null;
  |                             while(keyIterator.hasNext()){
  |                                     
  |                                     key = (String)keyIterator.next();
  |                                     obj = processVariables.get(key);
  |                                     
  |                                     contextInstance.setVariable(key,obj);
  |                                     
  |                             }
  |                     }*/
  |                     processInstance.signal();
  |                     logger.info("---------after processInstance singal");
  |                     logger.info("--------------after signal");
  |                     
  |                     logger.info("--------------after saving token");
  |                     jbpmContext.save(processInstance);
  |                     logger.info("--------------after saving 
processInstance");
  |                     logger.info("root token======="+token.getId());
  |                     
  |                     
  |                     
  |                     jbpmContext.close();
  |     }
  |   }
  | 
  |  //start
  |  class ServiceVO implements Serializable{
  |     
  | 
  | 
  |     private String processDefinitionName;
  |     
  | 
  |     public String getProcessDefinitionName() {
  |             return processDefinitionName;
  |     }
  | 
  |     public void setProcessDefinitionName(String processDefinitionName) {
  |             this.processDefinitionName = processDefinitionName;
  |     }
  | 
  | 
  |  
  | }
  | //end
  | 
  | 
  | //start
  |  class ActionHandler1 implements ActionHandler{ 
  |     
  |     public void execute(ExecutionContext executionContext) throws Exception 
{
  |             System.out.println("===========>>>>in action handler 1 
>>>>>>>>>");
  |     
  |     }
  | //end
  | 
  | //start
  |  class DecisionHandler1 implements DecisionHandler {
  |     public String decide(ExecutionContext arg0) throws Exception {
  |             // TODO Auto-generated method stub
  |             System.out.println("--in handler1-");
  |             return "node3";
  |     }
  | //end
  | 
  | //start
  |  class DecisionHandler2 implements DecisionHandler {
  |     public String decide(ExecutionContext arg0) throws Exception {
  |             // TODO Auto-generated method stub
  |             System.out.println("--in handler2-");
  |             return "node4";
  |     }
  | 
  | }
  | //end


Thanks
vnm

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4240732#4240732

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4240732
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to