[
http://jira.jboss.com/jira/browse/JBESB-1444?page=comments#action_12393958 ]
Kevin Conner commented on JBESB-1444:
-------------------------------------
The jBPM processing was not intended to have been executed within the same thread as the
command service, it was supposed to have been handed off to jBPM for processing
asynchronously.
We need to make sure that any communication crossing the ESB/jBPM border happens in an
asynchronous manner.
jBPM CommandService is bottleneck of jBPM process processing
------------------------------------------------------------
Key: JBESB-1444
URL:
http://jira.jboss.com/jira/browse/JBESB-1444
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Process flow
Affects Versions: 4.2.1 CP1
Reporter: Jiri Pechanec
Assigned To: Kurt Stam
Priority: Critical
Fix For: 4.2.1 CP1
The problem is that the process is executed in context of the thread of the service. It
means that if there are more services that invokes jBPM process than all copntiunations
are executed in the context of this single thread. This in turn can lead into large amount
of started processes in blocked state waiting for a signal form Callback service.
This behaviour should be at least documented with the hint that amount of threads of
CallbackService should be increased and where.
As a mid/long term solution I would prefer something that resembles following
architecture
1) Let's suppose that JBoss Messaging supports message priorities and takes them into
consideration when reading messages from the queue
2) Let's suppose we can set message priority when we are invoking service
3) Define a service called jBPM executor which have configured amount of thread
4) When the jBPM process is invoked then the result of invocation is message passed to
jBPM executor with low-priority
5) When the jBPM process is to be called back then the message is passed to jBPM executor
with high-priority
Such solution will prefer completion of started jBPM processes before starting the new
ones and will allow manage the resources assgined to jBPM execution at the same place.
We can say that this soultion is equivalent to pool of executor threads which prioritizes
signal commands to start process commands.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira