Christoph, the CPE creates multiple threads when it starts up.
One thread is dedicated to a CollectionReader which produces
CASes. Another thread contains the Analytics, and finally there is a thread
with Cas Consumers.
All of these threads run asynchronously. In their run() method each thread
checks the state of the CPE and blocks
if the state=pause. There are no explicit notifications done on the CR or
AEs or CCs for pause/resume. Each thread
blocks until an application calls resume().
When a stop is called, the CPE calls collectionProcessComplete() on each
CasProcessor and AE, in this AE method you can flush the current state to
disk.
JC
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Jerry Cwiklik
UIMA Extensions
IBM T.J. Watson Research Center
Hawtorne, NY, 10532
Tel: 914-784-7665, T/L: 863-7665
Email: [EMAIL PROTECTED]
Christoph Büscher
<christoph.buesch
[EMAIL PROTECTED]> To
[email protected]
04/07/2008 05:55 cc
AM
Subject
Programmatically pausing and
Please respond to resuming CPE
[EMAIL PROTECTED]
or.apache.org
Hi,
I'm trying to control CPE processing programmatically via the pause(),
resume(),
and stop() methods. How exactly does the Framework notify the Collection
Reader
and the Analysis Engines when pause(), resume() and stop() are called? In
this
special case I'd like to write a TAEs processing state to disc before
stopping
the entire CPE to be able to recover from that state when the CPE is
started
later. Where can I find more information on this?
Thanks,
--
--------------------------------
Christoph Büscher