ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maciej Szefler" <...@intalio.com>
Subject Re: How does the server control the threads?
Date Thu, 12 Oct 2006 02:16:09 GMT
There's two primary sources of threads in the ODE engine:

1) Job Scheduler - This is the component that schedules all of the engine's
internal threads. There is a (default) implementation of the Job Scheduler
that uses an ExecutorService and Quartz Scheduling.

2) Integration Layer - The integration layer between ODE and the outside
world can also create threads (e.g. if a message is delivered to the engine,
it is processes in the thread that delivered it). There are two different
integration layers, one for AXIS, and one for JBI. The AXIS integeration
layer relies on the threads provided by the servlet container (when a web
serviceis invoked, a TCP listener thread will receive the request and invoke
ODE engine core, where the message is processed to the extent possible in
the current (TCP listener) thread). The JBI layer has it's own thread pool
and thread for polling the delivery channel.

Finally there are those threads that are used to invoke PMAPI (Process
Management API) methods. These can be invoked via WebService call, in which
case the servlet container's threads are used. Also they can be invoked via
RMI, in which case the RMI threads are used.

All threads performing work on behalf on the engine will fall into one of
those categories.


On 10/11/06, Dong Liu <edongliu@gmail.com> wrote:
> Hi,
> I am looking for a document about how the ode server handles the
> threads. Please give to me a link, if you know such an architecture
> document. Or tell me something about how threads work in ode server. I
> guess there should be a thread pool, and the server assign an
> available thread for each process instance. Am I right?
> Cheers,
> Dong
> --
> Dong Liu
> http://blogs.usask.ca/dong_notes/

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message