[jboss-user] [JBoss jBPM] - Re: WARN [ProxyWarnLog] Narrowing proxy to class org.jbpm.g

vnm do-not-reply at jboss.com
Mon Jun 29 09:49:29 EDT 2009


Hi Ronald,
            Sorry to send you improper code..As I was in bit hurry to send you I just skipped to resolve compilation issues,below is my modified code..Before you run it I request you to put my processdefintion.xml in src for testing,herein with I am also sending you my xml..
             And another thing I want to mention is in my code import org.jbpm.db.AbstractDbTestCase; this import couldnt be resolved as this class in not in my jbpm-jpdl.jar...I am using jbpm version 3.2.3..And the same class is used in java file for which you sent me the link



code of class


  | package org.jbpm.job.executor;
  | 
  | import java.io.Serializable;
  | 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.apache.commons.logging.Log;
  | import org.apache.commons.logging.LogFactory;
  | import org.jbpm.JbpmConfiguration;
  | import org.jbpm.JbpmContext;
  | import org.jbpm.context.exe.ContextInstance;
  | 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;
  | import org.jbpm.graph.exe.Token;
  | import org.jbpm.graph.node.DecisionHandler;
  | 
  | public class JobExecutorDbTest extends AbstractDbTestCase {
  | 	 final JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("jbpm.cfg.xml");
  | 	 JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  |   static final int nbrOfConcurrentProcessExecutions = 20;
  |   static final int timeout = 60000;
  |   final Log logger = LogFactory.getLog(getClass());
  |   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.parseXmlResource("processdefinition.xml");
  |     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



code for processdefinition.xml


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

<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="testFolder.ActionHandler1"></action>
  | 		</event>
  | 		<transition to="super-state1"></transition>
  | 	</node>
  | 
  | 	<super-state name="super-state1">
  | 		<node name="node3">
  | 			<event type="node-enter">
  | 				<action name="action3" class="testFolder.ActionHandler3"></action>
  | 			</event>
  | 			<transition to="join1"></transition>
  | 		</node>
  | 		<node name="node4">
  | 			<event type="node-enter">
  | 				<action name="action4" class="testFolder.ActionHandler4"></action>
  | 			</event>
  | 			<transition to="join1"></transition>
  | 		</node>
  | 		<decision name="decision1">
  | 			<handler class="testFolder.DecisionHandler1"></handler>
  | 			<transition to="node3" name="node3"></transition>
  | 			<transition to="join1" name="to join1"></transition>
  | 		</decision>
  | 		<decision name="decision2">
  | 			<handler class="testFolder.DecisionHandler2"></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="testFolder.ActionHandler5"></action>
  | 			</event>
  | 		</node>
  | 		<node name="node2">
  | 			<event type="node-enter">
  | 				<action name="action2" class="testFolder.ActionHandler2"></action>
  | 			</event>
  | 			<transition to="fork1"></transition>
  | 		</node>
  | 		<transition to="end-state1"></transition>
  | 	</super-state>
  | 
  | 
  | 	<end-state name="end-state1"></end-state>
  | 
  | 
  | </process-definition>



jbpm.cfg.xml


  | <jbpm-configuration>
  | 
  |   <!-- 
  |     The default configurations can be found in org/jbpm/default.jbpm.cfg.xml 
  |     Those configurations can be overwritten by putting this file called 
  |     jbpm.cfg.xml on the root of the classpath and put in the customized values.
  |   -->
  |   <jbpm-context>
  |     <service name='persistence' factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />
  |     <service name='message' factory='org.jbpm.msg.db.DbMessageServiceFactory' />
  | 	<service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
  |     <!--<service name='scheduler' factory='org.jbpm.scheduler.db.DbSchedulerServiceFactory' />-->
  |     <service name='logging' factory='org.jbpm.logging.db.DbLoggingServiceFactory' />
  |     <service name='authentication' factory='org.jbpm.security.authentication.DefaultAuthenticationServiceFactory' />
  |   </jbpm-context>
  | 
  |    <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar-->
  |   <string name='resource.hibernate.cfg.xml' value='hibernate.cfg.xml' /> 
  |   <!-- <string name='resource.hibernate.properties' value='hibernate.properties' /> -->
  |   <string name='resource.business.calendar' value='org/jbpm/calendar/jbpm.business.calendar.properties' />
  |   <string name='resource.default.modules' value='org/jbpm/graph/def/jbpm.default.modules.properties' />
  |   <string name='resource.converter' value='org/jbpm/db/hibernate/jbpm.converter.properties' />
  |   <string name='resource.action.types' value='org/jbpm/graph/action/action.types.xml' />
  |   <string name='resource.node.types' value='org/jbpm/graph/node/node.types.xml' />
  |   <string name='resource.parsers' value='org/jbpm/jpdl/par/jbpm.parsers.xml' />
  |   <string name='resource.varmapping' value='org/jbpm/context/exe/jbpm.varmapping.xml' />
  | 
  |   <int name='jbpm.byte.block.size' value="1024" singleton="true" />
  |   <bean name='jbpm.task.instance.factory' class='org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl' singleton='true' />
  |   <bean name='jbpm.variable.resolver' class='org.jbpm.jpdl.el.impl.JbpmVariableResolver' singleton='true' />
  | 
  | </jbpm-configuration>


Thanks and Regards
vnm

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

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4240757



More information about the jboss-user mailing list