[jboss-user] [JBoss jBPM] - Re: async processes : favour termination instead of inceptio
gogoasa
do-not-reply at jboss.com
Wed Oct 3 16:24:57 EDT 2007
Jeff, if I understand correctly the difference between my installation and yours is that I use the JMS system for async execution while you use the built-in database-based messaging system.
For what it's worth, in my case I don't feel the need to use asynchronous continuations because of parallel processing (the multithreading is done by the app server and I can start multiple process instances in parallel) -- but because, having a series of nodes that take a long time to execute, I need to have shorter, one-node transactions so that in a web console I can have the status of the process. I only use async for shorter transactions around each node and I must say that I would find it very useful if jBPM did its database access behind a RequiresNew EJB (in "enterprise" deployment). That would allow people to have long-taking series of nodes in non-async processes.
Ok, as to the solution, I added an attribute to node :
| <node name="1st-slow-node" async="true" async-priority="1">
| ...
| </node>
| <node name="2nd-slow-node" async="true" async-priority="2">
| ...
| </node>
| <node name="3rd-slow-node" async="true" async-priority="3">
| ...
| </node>
| <node name="4th-slow-node" async="true" async-priority="4">
| ...
| </node>
|
and a field to Node.java :
protected int asyncPriority;
and the corresponding mapping to the Hibernate file.
When a Jms message is sent, its priority is sent using the node attribute.
I haven't checked, but I suppose this should work in your case too, by simply changing the HQL query to do a join with Node and order by node.asyncPriority.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4091225#4091225
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4091225
More information about the jboss-user
mailing list