[jboss-user] [JBoss jBPM] - Re: Signal process instance asynchronous

hhhuber do-not-reply at jboss.com
Tue Jun 16 07:29:23 EDT 2009


there are reasons why i don't want to make the first node 'async'. so i kept looking for a way to signal a process asynchronously. this is what i implemented:

a AsyncProcessSignalJob that can be saved as a jbpm-job. then the job executor finds and executes the job as any other job.


  | public class AsyncProcessSignalJob extends Job {
  | 	
  | 	/** The Constant serialVersionUID. */
  | 	private static final long serialVersionUID = -8358943330005955423L;
  | 	
  | 	public AsyncProcessSignalJob() {
  | 	}
  | 	
  | 	public AsyncProcessSignalJob(ProcessInstance processInstance) {
  | 	    this.setDueDate(new Date());
  | 	    this.setProcessInstance(processInstance);
  | 	    this.setToken(processInstance.getRootToken());
  | 	}
  | 
  | 	@Override
  | 	public boolean execute(JbpmContext jbpmContext) throws Exception {
  | 
  |             ProcessInstance processInstance = this.getProcessInstance();
  | 	    processInstance.signal();
  | 	    jbpmContext.save(processInstance);
  | 	    return true;
  | 	}
  | 
  | 

then i created a hibernate mapping file 


  | 
  | <hibernate-mapping auto-import="false" default-access="field">
  | 
  |   <subclass name="foo.bar.AsyncProcessSignalJob" 
  |             discriminator-value="P" 
  |             extends="org.jbpm.job.Job">
  | 
  |   </subclass>
  | 
  | </hibernate-mapping>
  | 

which must be included in jbpm.hibernate.cfg.xml.

once i have created (but not signaled) a process instance i can schedule it like this:


  | 	public void signalAsync(ProcessInstance processInstance, JbpmContext jbpmContext) {
  | 		AsyncProcessSignalJob job = new AsyncProcessSignalJob(processInstance);
  | 		jbpmContext.getJobSession().saveJob(job);
  | 	}
  | 
  | 

does this look reasonable? have i overlooked something? i'm still in early testing phase so i cannot guarantee that this code really runs stable.

any comments would be appreciated.

kind regards,

oliver

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

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



More information about the jboss-user mailing list