You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2009/09/28 18:06:30 UTC

svn commit: r819626 - in /incubator/uima/uima-as/trunk/uima-as-docbooks: ./ src/ src/docbook/uima_async_scaleout/ src/olink/uima_async_scaleout/

Author: schor
Date: Mon Sep 28 16:06:30 2009
New Revision: 819626

URL: http://svn.apache.org/viewvc?rev=819626&view=rev
Log:
No Jira - UIMA-AS doc changes - add clarification of error handling for CASes generated by a CAS Multiplier, and some formatting changes.

Add info that binary serialization requires identical type systems, and C++ doesn't support binary serialzations.

Change copyright years.

Comment out local.docbook.properties selecting
versions - use inherited default.

Modified:
    incubator/uima/uima-as/trunk/uima-as-docbooks/local.docbook.properties
    incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.errorhandling.xml
    incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/ref.async.deployment.xml
    incubator/uima/uima-as/trunk/uima-as-docbooks/src/index.html
    incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/htmlsingle-target.db
    incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/pdf-target.db

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/local.docbook.properties
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/local.docbook.properties?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/local.docbook.properties (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/local.docbook.properties Mon Sep 28 16:06:30 2009
@@ -11,11 +11,11 @@
 # limitations under the License.
 
 # which version of fop to use
-fop.version = 0.93
+#fop.version = 0.93
 
 # which version of docbook to use
-docbook.version.xml = 4.5
-docbook.version.xsl = 1.72.0
+#docbook.version.xml = 4.5
+#docbook.version.xsl = 1.72.0
 
 # uncomment these to skip parts of the build
 skip.html-chunked = true

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.errorhandling.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.errorhandling.xml?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.errorhandling.xml (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.errorhandling.xml Mon Sep 28 16:06:30 2009
@@ -48,6 +48,7 @@
     <para>When errors happen, the framework provides a standard set of configurable actions. See <xref
         linkend="ugr.async.eh.commands_allowed_actions"></xref> for a summary table of the actions available
       in different situations.</para></section>
+      
   <section id="ugr.async.eh.incoming_commands">
     <title>Associating Errors with incoming commands</title>
     <para>Components managed by AS may generate errors when they are sent a command. The error is associated with the
@@ -86,7 +87,40 @@
     </itemizedlist-->
     <para>Error handling actions are associated with these various commands. Some error handling actions make
       sense only if there is an associated CAS object, and are therefore only allowed with the processCas command.
-      </para></section>
+      </para>
+      
+    <section id="ugr.asynch.eh.cas_multipliers">
+      <title>Error handling for CASes generated in an Aggregate by CAS Multipliers</title>
+      <titleabbrev>Error handling - CAS Multipliers</titleabbrev> 
+      <para>
+        CASes that are generated by a CAS Multiplier are called child CASes, and their parent CAS is the
+        CAS that originally came into the CAS Multiplier which caused the child CASes to be created.
+        Each child CAS always has one associated parent CAS.
+      </para>
+      
+      <para>
+        The flow of CASes is constrained to always block returning the parent CAS until all of its 
+        children have been generated by the CAS Multiplier.  In addition, the framework (currently) blocks
+        the flow of the parent CAS until all of its children have finished all processing, including
+        any processing of the children in outer, containing aggregates (which can even be on other
+        network-connected nodes).  (There is some discussion about relaxing this condition, to allow
+        more asynchronicity.)  
+      </para>
+      
+      <para>
+        A child CAS may only exist for a part of the flow, and not returned all the way back
+        up to the top.  Because of this, errors which occur on a child CAS and are 
+        not recovered are reported on both the child CAS, and on its parent.  The parent
+        CAS is not processed further, and an error is reported against the parent. 
+      </para>
+      
+      <para>
+        The parent CAS may have other outstanding children currently being processed.  It is not
+        yet specified what happens (if anything) to these CASes.
+      </para>
+    </section>    
+      
+  </section>
   <section id="ugr.async.eh.error_handling_overview">
     <title>Error handling overview</title>
     <para>When an error happens, it is either &quot;recovered&quot;, or not; only errors from delegates of an AS
@@ -154,9 +188,13 @@
     aggregate and the delegate are actually sharing a common CAS object, so the
     aggregate has access to the CAS in this case.</para></note-->
     <para>Every command sent to a delegate can have an associated (configurable) timeout. If the timeout occurs
-      before the delegate responds, the framework creates an error representing the timeout.<note>
-      <para>If, subsequently, a response is (finally) received corresponding to the command that had timed-out,
-        this is logged, but the response is discarded and no further action is taken.</para></note> </para>
+      before the delegate responds, the framework creates an error representing the timeout.
+      <note>
+        <para>If, subsequently, a response is (finally) received corresponding to the command that had timed-out,
+          this is logged, but the response is discarded and no further action is taken.
+        </para>
+      </note> 
+    </para>
     <!--figure
     id="ugr.async.eh.fig.error_chain_aggregate_without_terminate_disable">
     <title>Retry chain</title>
@@ -175,43 +213,49 @@
       the aggregate returns the error result from the delegate to the aggregate's caller. On Terminate, the error is
       returned to the caller.</para>
     
-    <section id="ugr.async.eh.aggregate_managed.actions">
-      <title>Aggregate Error Actions</title>
-      <para>This section describes in more detail the error actions valid only for AS aggregates.</para>
-      <section id="ugr.async.eh.aggregate_managed.actions.retry">
-        <title>Retry</title>
-        <para>Retry is an action which re-sends the same command that failed back to the input queue of the delegate.
-          (Note: It may be picked up by a different instance of that delegate, which may have a better chance of
-          succeeding.) The framework will keep a copy of the CAS sent to remote components in order to have it to send
-          again if a retry is required. </para>
-        <para> <emphasis role="bold">Retry is not allowed for colocated delegates.</emphasis></para>
-        <para>The &quot;collectionProcessComplete&quot; command is never retried.</para>
-        <para>Retry is done some number of times, as specified in the deployment descriptor.</para></section>
-      <!-- end of retry -->
-      <section id="ugr.async.eh.aggregate_disable">
-        <title>Disable Action</title>
-        <figure id="ugr.async.eh.fig.disable">
-          <title>Disable action</title>
-          <mediaobject>
-            <imageobject>
-              <imagedata width="150px" format="JPG" fileref="&imgroot;disable_action.jpg"></imagedata>
-            </imageobject>
-            <textobject> <phrase>Disable Action</phrase></textobject></mediaobject></figure>
-        <para>When this action is taken the framework marks the particular delegate causing the error as
-          &quot;disabled&quot; so it will be skipped in subsequent calls. The framework calls the flow controller,
-          telling it to remove the particular delegate from the flow. </para></section>
-      <section id="ugr.async.eh.aggregate_managed.actions.continue">
-        <title>Continue Option on Delegate Process CAS Failures</title>
-        <para>For processCas commands, the Continue action causes the framework to give the flow controller object
-          for that CAS the error details, and ask the flow controller if processing can continue. If the flow
-          controller returns
-          &quot;true&quot;, the flow controller will be called asking for the next step; if &quot;false&quot;, the
-          framework stops processing the CAS, returning an error to the client reply queue, or just returning the CAS
-          to the casPool of the CAS multiplier which created it.</para>
-        <para>For &quot;collectionProcessComplete&quot; commands, Continue means to ignore the error, and
-          continue as if the collectionProcessComplete call had returned normally. </para>
-        <para>This action is not allowed for the getMetadata command.</para></section>
-      <!--section id="ugr.async.eh.aggregate_managed.actions.abort_cas">
+  <section id="ugr.async.eh.aggregate_managed.actions">
+    <title>Aggregate Error Actions</title>
+    <para>This section describes in more detail the error actions valid only for AS aggregates.</para>
+    <section id="ugr.async.eh.aggregate_managed.actions.retry">
+      <title>Retry</title>
+      <para>Retry is an action which re-sends the same command that failed back to the input queue of the delegate. (Note: It may be picked 
+        up by a different instance of that delegate, which may have a better chance of succeeding.) The framework will keep a copy of the 
+        CAS sent to remote components in order to have it to send again if a retry is required. </para>
+      <para>
+        <emphasis role="bold">Retry is not allowed for colocated delegates.</emphasis>
+      </para>
+      <para>The &quot;collectionProcessComplete&quot; command is never retried.</para>
+      <para>Retry is done some number of times, as specified in the deployment descriptor.</para>
+    </section>
+    <!-- end of retry -->
+    <section id="ugr.async.eh.aggregate_disable">
+      <title>Disable Action</title>
+      <figure id="ugr.async.eh.fig.disable">
+        <title>Disable action</title>
+        <mediaobject>
+          <imageobject>
+            <imagedata width="150px" format="JPG" fileref="&imgroot;disable_action.jpg"></imagedata>
+          </imageobject>
+          <textobject>
+            <phrase>Disable Action</phrase>
+          </textobject>
+        </mediaobject>
+      </figure>
+      <para>When this action is taken the framework marks the particular delegate causing the error as &quot;disabled&quot; so it will be 
+        skipped in subsequent calls. The framework calls the flow controller, telling it to remove the particular delegate from the flow. 
+        </para>
+    </section>
+    <section id="ugr.async.eh.aggregate_managed.actions.continue">
+      <title>Continue Option on Delegate Process CAS Failures</title>
+      <para>For processCas commands, the Continue action causes the framework to give the flow controller object for that CAS the error 
+        details, and ask the flow controller if processing can continue. If the flow controller returns &quot;true&quot;, the flow 
+        controller will be called asking for the next step; if &quot;false&quot;, the framework stops processing the CAS, returning an 
+        error to the client reply queue, or just returning the CAS to the casPool of the CAS multiplier which created it.</para>
+      <para>For &quot;collectionProcessComplete&quot; commands, Continue means to ignore the error, and continue as if the 
+        collectionProcessComplete call had returned normally. </para>
+      <para>This action is not allowed for the getMetadata command.</para>
+    </section>
+    <!--section id="ugr.async.eh.aggregate_managed.actions.abort_cas">
       <title>AbortCas Action</title>
       <para>AbortCas means that, at this level in the aggregate nesting,
       <itemizedlist spacing="compact">
@@ -222,7 +266,8 @@
       
       <para>AbortCas is only allowed for the processCas command; the other commands do not have
       an associated CAS.</para>
-      </section--></section>
+      </section-->
+  </section>
     <!-- end of aggregate_managed.actions --></section>
   <!-- end of aggregate_managed -->
   <!--para>The Terminate looking "upwards" towards its caller, disconnects the component (where the error is being handled) 

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/ref.async.deployment.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/ref.async.deployment.xml?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/ref.async.deployment.xml (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/ref.async.deployment.xml Mon Sep 28 16:06:30 2009
@@ -459,9 +459,15 @@
       </para>
     
     <para>The &lt;serializer> element describes what method of serialization to use. This element is optional and it
-    may be set to either binary or xmi. If omitted, xmi serialization will be used by default. Xmi serialization 
-    can be quite verbose and produce large output for CASes containing many annotations. A more efficient and compact 
-    serialization is produced by binary serialization which trades output size for more CPU required. 
+    may be set to either <code>binary</code> or <code>xmi</code>. If omitted, <code>xmi</code> serialization 
+    will be used by default. <code>Xmi</code> serialization 
+    can be quite verbose and produce large output for CASes containing many annotations; on the plus side, 
+    it supports serialization between components where the type systems may not be exactly identical (for instance,
+    they could be different subsets of larger, common type systems).  <code>Binary</code> serialization produces
+    a smaller output size and is more efficient; on the minus side, it requires that the type systems 
+    for both components have exactly the same type and feature codes - which in practice means that the 
+    type systems have to be identical.   Also, the binary serialization format is new with 2.3.0 release, and is not always
+    available.  For example, C++ services do not (currently) support this format. 
     </para>
     <para>
       The &lt;inputQueue> element specifies the remote's input queue. The casMultiplier element inside a remoteAnalysisEngine element is only specified if the

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/index.html
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/index.html?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/index.html (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/index.html Mon Sep 28 16:06:30 2009
@@ -22,7 +22,7 @@
 <p class="releaseinfo">Version 2.3.0-incubating-SNAPSHOT</p>
 </div>
 <div>
-<p class="copyright">Copyright &copy; 2008 The Apache Software
+<p class="copyright">Copyright &copy; 2008, 2009 The Apache Software
 Foundation</p>
 </div>
 <div>
@@ -64,7 +64,7 @@
 </div>
 </div>
 <div>
-<p class="pubdate">April, 2008</p>
+<p class="pubdate">October, 2009</p>
 </div>
 </div>
 <hr>
@@ -75,10 +75,8 @@
 </p>
 <p>
   UIMA-AS is built on top of the base UIMA implementation.  The distributed
-binary packaging for UIMA-AS includes the base UIMA framework, but does not
-include the documentation.  You can find the documentation for base UIMA on
-the main UIMA documentation website, 
-<a href="http://incubator.apache.org/uima/documentation">http://incubator.apache.org/uima/documentation</a>
+binary packaging for UIMA-AS must be uncompressed (un-tarred or unzipped) over
+the base UIMA framework.  
 </p>
 
 The UIMA-AS documentation is available in both 

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/htmlsingle-target.db
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/htmlsingle-target.db?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/htmlsingle-target.db (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/htmlsingle-target.db Mon Sep 28 16:06:30 2009
@@ -1 +1 @@
-<div element="book" href="#d0e2" number="" lang="en"><ttl>UIMA Asynchronous Scaleout</ttl><xreftext>UIMA Asynchronous Scaleout</xreftext><div element="chapter" href="#ugr.async.ov" number="1" targetptr="ugr.async.ov"><ttl>Overview - Asynchronous Scaleout</ttl><xreftext>Chapter 1, <i xmlns:xlink="http://www.w3.org/1999/xlink">Overview - Asynchronous Scaleout</i></xreftext><div element="section" href="#ugr.async.ov.terminology" number="1.1" targetptr="ugr.async.ov.terminology"><ttl>Terminology</ttl><xreftext>Section 1.1, “Terminology”</xreftext></div><div element="section" href="#ugr.async.ov.as_vs_cpm" number="1.2" targetptr="ugr.async.ov.as_vs_cpm"><ttl>AS versus CPM</ttl><xreftext>Section 1.2, “AS versus CPM”</xreftext></div><div element="section" href="#ugr.async.ov.design_goals" number="1.3" targetptr="ugr.async.ov.design_goals"><ttl>Design goals for Asynchronous Scaleout</ttl><xreftext>Section 1.3, “Design goals for Asynchronous Scale
 out”</xreftext></div><div element="section" href="#ugr.async.ov.concepts" number="1.4" targetptr="ugr.async.ov.concepts"><ttl>AS Concepts</ttl><xreftext>Section 1.4, “AS Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.threading" number="1.4.1" targetptr="ugr.async.ov.concepts.threading"><ttl>User written components and multi-threading</ttl><xreftext>Section 1.4.1, “Threading”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.wrapping" number="1.4.2" targetptr="ugr.async.ov.concepts.wrapping"><ttl>AS Component wrapping</ttl><xreftext>Section 1.4.2, “AS Component wrapping”</xreftext><obj element="figure" href="#ugr.async.ov.fig.wrapAE" number="1.1" targetptr="ugr.async.ov.fig.wrapAE"><ttl>AS Primitive Wrapper</ttl><xreftext>Figure 1.1, “AS Primitive Wrapper”</xreftext></obj><obj element="figure" href="#ugr.async.ov.fig.wrapAAE" number="1.2" targetptr="ugr.async.ov.fig.wrapAAE"><t
 tl>AS Aggregate wrapper</ttl><xreftext>Figure 1.2, “AS Aggregate wrapper”</xreftext></obj></div><div element="section" href="#ugr.async.ov.concepts.deploying" number="1.4.3" targetptr="ugr.async.ov.concepts.deploying"><ttl>Deployment alternatives</ttl><xreftext>Section 1.4.3, “Deployment alternatives”</xreftext><div element="section" href="#ugr.async.ov.concepts.deploying.multiples" number="1.4.3.1" targetptr="ugr.async.ov.concepts.deploying.multiples"><ttl>Configuring multiple instances of components</ttl><xreftext>Section 1.4.3.1, “Multiple Instances”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deploying.queues" number="1.4.3.2" targetptr="ugr.async.ov.concepts.deploying.queues"><ttl>Queues</ttl><xreftext>Section 1.4.3.2, “Queues”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors" number="1.4.3.3" targetptr="ugr.async.ov.concepts.deployment_descriptors"><ttl
 >Deployment Descriptors</ttl><xreftext>Section 1.4.3.3, “Deployment Descriptors”</xreftext><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors.aggregate" number="" targetptr="ugr.async.ov.concepts.deployment_descriptors.aggregate"><ttl>Deploying UIMA aggregates</ttl><xreftext>the section called “Deploying UIMA aggregates”</xreftext></div></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits" number="1.4.4" targetptr="ugr.async.ov.concepts.first_limits"><ttl>Current design limitations</ttl><xreftext>Section 1.4.4, “Limits”</xreftext><div element="section" href="#ugr.async.ov.concepts.first_limits.sofa_mapping" number="1.4.4.1" targetptr="ugr.async.ov.concepts.first_limits.sofa_mapping"><ttl>Sofa Mapping limits</ttl><xreftext>Section 1.4.4.1, “Sofa Mapping limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.parameter_overriding" number="1.4.4.2" t
 argetptr="ugr.async.ov.concepts.first_limits.parameter_overriding"><ttl>Parameter Overriding limits</ttl><xreftext>Section 1.4.4.2, “Parameter Overriding limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.resource_sharing" number="1.4.4.3" targetptr="ugr.async.ov.concepts.first_limits.resource_sharing"><ttl>Resource Sharing limits</ttl><xreftext>Section 1.4.4.3, “Resource Sharing limits”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits.compatibility" number="1.4.5" targetptr="ugr.async.ov.concepts.first_limits.compatibility"><ttl>Compatibility with earlier version of remoting and scaleout</ttl><xreftext>Section 1.4.5, “Compatibility”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.application" number="1.5" targetptr="ugr.async.ov.concepts.application"><ttl>Application Concepts</ttl><xreftext>Section 1.5, “Application Conceptsâ�
 �</xreftext><div element="section" href="#ugr.async.ov.concepts.application.api" number="1.5.1" targetptr="ugr.async.ov.concepts.application.api"><ttl>Application API</ttl><xreftext>Section 1.5.1, “Application API”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_process_complete" number="1.5.2" targetptr="ugr.async.ov.concepts.collection_process_complete"><ttl>Collection Process Complete</ttl><xreftext>Section 1.5.2, “Collection Process Complete”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.mc" number="1.6" targetptr="ugr.async.ov.concepts.mc"><ttl>Monitoring and Controlling an AS application</ttl><xreftext>Section 1.6, “Monitoring &amp; Controlling”</xreftext><div element="section" href="#ugr.async.ov.concepts.mc.what" number="1.6.1" targetptr="ugr.async.ov.concepts.mc.what"><ttl>Instrumentation provided</ttl><xreftext>Section 1.6.1, “Instrumentation provided”</
 xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.jms_descriptor" number="1.7" targetptr="ugr.async.ov.concepts.jms_descriptor"><ttl>JMS Service Descriptor</ttl><xreftext>Section 1.7, “JMS Service Descriptor”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_reader" number="1.8" targetptr="ugr.async.ov.concepts.collection_reader"><ttl>Collection Reader support</ttl><xreftext>Section 1.8, “Collection Reader support”</xreftext></div></div><div element="chapter" href="#ugr.async.eh" number="2" targetptr="ugr.async.eh"><ttl>Error Handling for Asynchronous Scaleout</ttl><xreftext>Chapter 2, <i xmlns:xlink="http://www.w3.org/1999/xlink">Error Handling for Asynchronous Scaleout</i></xreftext><div element="section" href="#ugr.async.eh.basic" number="2.1" targetptr="ugr.async.eh.basic"><ttl>Basic concepts</ttl><xreftext>Section 2.1, “Basic concepts”</xreftext></div><div element="section" hre
 f="#ugr.async.eh.incoming_commands" number="2.2" targetptr="ugr.async.eh.incoming_commands"><ttl>Associating Errors with incoming commands</ttl><xreftext>Section 2.2, “Associating Errors with incoming commands”</xreftext></div><div element="section" href="#ugr.async.eh.error_handling_overview" number="2.3" targetptr="ugr.async.eh.error_handling_overview"><ttl>Error handling overview</ttl><xreftext>Section 2.3, “Error handling overview”</xreftext><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain" number="2.1" targetptr="ugr.async.eh.fig.basic_eh_chain"><ttl>Basic error handling chain for AS Aggregates for errors from delegates</ttl><xreftext>Figure 2.1, “Basic error handling chain for AS Aggregates for errors from delegates”</xreftext></obj><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain_prim" number="2.2" targetptr="ugr.async.eh.fig.basic_eh_chain_prim"><ttl>Basic error handling chain for AS Primitives</ttl><xref
 text>Figure 2.2, “Basic error handling chain for AS Primitives”</xreftext></obj></div><div element="section" href="#ugr.async.eh.error_results" number="2.4" targetptr="ugr.async.eh.error_results"><ttl>Error results</ttl><xreftext>Section 2.4, “Error results”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_managed" number="2.5" targetptr="ugr.async.eh.aggregate_managed"><ttl>Error Recovery actions</ttl><xreftext>Section 2.5, “Error Recovery actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions" number="2.5.1" targetptr="ugr.async.eh.aggregate_managed.actions"><ttl>Aggregate Error Actions</ttl><xreftext>Section 2.5.1, “Aggregate Error Actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions.retry" number="2.5.1.1" targetptr="ugr.async.eh.aggregate_managed.actions.retry"><ttl>Retry</ttl><xreftext>Section 2.5.1.1, “Retry”</xreftex
 t></div><div element="section" href="#ugr.async.eh.aggregate_disable" number="2.5.1.2" targetptr="ugr.async.eh.aggregate_disable"><ttl>Disable Action</ttl><xreftext>Section 2.5.1.2, “Disable Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.disable" number="2.3" targetptr="ugr.async.eh.fig.disable"><ttl>Disable action</ttl><xreftext>Figure 2.3, “Disable action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.aggregate_managed.actions.continue" number="2.5.1.3" targetptr="ugr.async.eh.aggregate_managed.actions.continue"><ttl>Continue Option on Delegate Process CAS Failures</ttl><xreftext>Section 2.5.1.3, “Continue Option on Delegate Process CAS Failures”</xreftext></div></div></div><div element="section" href="#ugr.async.eh.errors_passed_up.thresholds" number="2.6" targetptr="ugr.async.eh.errors_passed_up.thresholds"><ttl>Thresholds for Terminate and Disable</ttl><xreftext>Section 2.6, “Thresholds f
 or Terminate and Disable”</xreftext></div><div element="section" href="#ugr.async.eh.terminate" number="2.7" targetptr="ugr.async.eh.terminate"><ttl>Terminate Action</ttl><xreftext>Section 2.7, “Terminate Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.terminate" number="2.4" targetptr="ugr.async.eh.fig.terminate"><ttl>Terminate action</ttl><xreftext>Figure 2.4, “Terminate action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.commands_allowed_actions" number="2.8" targetptr="ugr.async.eh.commands_allowed_actions"><ttl>Commands and allowed actions</ttl><xreftext>Section 2.8, “Commands and allowed actions”</xreftext><obj element="table" href="#ugr.async.eh.table.error_actions_by_command" number="2.1" targetptr="ugr.async.eh.table.error_actions_by_command"><ttl>Error actions by command type</ttl><xreftext>Table 2.1, “Error actions by command type”</xreftext></obj></div></div><div element
 ="chapter" href="#ugr.ref.async.deploy" number="3" targetptr="ugr.ref.async.deploy"><ttl>Asynchronous Scaleout Deployment Descriptor</ttl><xreftext>Chapter 3, <i xmlns:xlink="http://www.w3.org/1999/xlink">Asynchronous Scaleout Deployment Descriptor</i></xreftext><div element="section" href="#ugr.ref.async.deploy.descriptor_organization" number="3.1" targetptr="ugr.ref.async.deploy.descriptor_organization"><ttl>Descriptor Organization</ttl><xreftext>Section 3.1, “Descriptor Organization”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor" number="3.2" targetptr="ugr.ref.async.deploy.descriptor"><ttl>Deployment Descriptor</ttl><xreftext>Section 3.2, “Deployment Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.caspool" number="3.3" targetptr="ugr.ref.async.deploy.descriptor.caspool"><ttl>CAS Pool</ttl><xreftext>Section 3.3, “CAS Pool”</xreftext></div><div element="secti
 on" href="#ugr.ref.async.deploy.descriptor.service" number="3.4" targetptr="ugr.ref.async.deploy.descriptor.service"><ttl>Service</ttl><xreftext>Section 3.4, “Service”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.custom" number="3.5" targetptr="ugr.ref.async.deploy.descriptor.custom"><ttl>Customizing the deployment</ttl><xreftext>Section 3.5, “Customizing the deployment”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.input_queue" number="3.6" targetptr="ugr.ref.async.deploy.descriptor.input_queue"><ttl>Input Queue</ttl><xreftext>Section 3.6, “Input Queue”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.top_descriptor" number="3.7" targetptr="ugr.ref.async.deploy.descriptor.top_descriptor"><ttl>Top level Analysis Engine descriptor</ttl><xreftext>Section 3.7, “Top Level AE Descriptor”</xreftext></div><div element="section" href="#ugr
 .ref.async.deploy.descriptor.environment_variables" number="3.8" targetptr="ugr.ref.async.deploy.descriptor.environment_variables"><ttl>Setting Environment Variables</ttl><xreftext>Section 3.8, “Setting Environment Variables”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.ae" number="3.9" targetptr="ugr.ref.async.deploy.descriptor.ae"><ttl>Analysis Engine</ttl><xreftext>Section 3.9, “Analysis Engine”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig" number="3.10" targetptr="ugr.ref.async.deploy.descriptor.errorconfig"><ttl>Error Configuration descriptors</ttl><xreftext>Section 3.10, “Error Configuration descriptors”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig.defaults" number="3.11" targetptr="ugr.ref.async.deploy.descriptor.errorconfig.defaults"><ttl>Error Configuration defaults</ttl><xreftext>Section 3.11, “Err
 or Configuration defaults”</xreftext></div></div><div element="chapter" href="#ugr.ref.async.api" number="4" targetptr="ugr.ref.async.api"><ttl>Asynchronous Scaleout Application Interface</ttl><xreftext>Chapter 4, <i xmlns:xlink="http://www.w3.org/1999/xlink">Asynchronous Scaleout Application Interface</i></xreftext><div element="section" href="#ugr.ref.async.api.organization" number="4.1" targetptr="ugr.ref.async.api.organization"><ttl>Asynchronous API Overview</ttl><xreftext>Section 4.1, “Asynchronous API Overview”</xreftext></div><div element="section" href="#ugr.ref.async.api.descriptor" number="4.2" targetptr="ugr.ref.async.api.descriptor"><ttl>The UimaAsynchronousEngine Interface</ttl><xreftext>Section 4.2, “The UimaAsynchronousEngine Interface”</xreftext></div><div element="section" href="#ugr.ref.async.context.map" number="4.3" targetptr="ugr.ref.async.context.map"><ttl>Application Context Map</ttl><xreftext>Section 4.3, “App
 lication Context Map”</xreftext></div><div element="section" href="#ugr.ref.async.callback.listener" number="4.4" targetptr="ugr.ref.async.callback.listener"><ttl>Status Callback Listener</ttl><xreftext>Section 4.4, “Status Callback Listener”</xreftext></div><div element="section" href="#ugr.ref.async.error.status" number="4.5" targetptr="ugr.ref.async.error.status"><ttl>Error Results</ttl><xreftext>Section 4.5, “Error Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage" number="4.6" targetptr="ugr.ref.async.api.usage"><ttl>Asynchronous API Usage Scenarios</ttl><xreftext>Section 4.6, “Asynchronous API Usage Scenarios”</xreftext><div element="section" href="#ugr.ref.async.api.usage_initialize" number="4.6.1" targetptr="ugr.ref.async.api.usage_initialize"><ttl>Instantiating a Client API Object</ttl><xreftext>Section 4.6.1, “Instantiating a Client API Object”</xreftext></div><div element="sectio
 n" href="#ugr.ref.async.api.usage_callservice" number="4.6.2" targetptr="ugr.ref.async.api.usage_callservice"><ttl>Calling an Existing Service</ttl><xreftext>Section 4.6.2, “Calling an Existing Service”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_getresults" number="4.6.3" targetptr="ugr.ref.async.api.usage_getresults"><ttl>Retrieving Asynchronous Results</ttl><xreftext>Section 4.6.3, “Retrieving Asynchronous Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_deployservice" number="4.6.4" targetptr="ugr.ref.async.api.usage_deployservice"><ttl>Deploying a Service with the Client API</ttl><xreftext>Section 4.6.4, “Deploying a Service with the Client API”</xreftext></div></div><div element="section" href="#ugr.ref.async.api.sample.code" number="4.7" targetptr="ugr.ref.async.api.sample.code"><ttl>Sample Code</ttl><xreftext>Section 4.7, “Sample Code”</xreftext></div></div></d
 iv>
\ No newline at end of file
+<div element="book" href="#d0e2" number="" lang="en"><ttl>UIMA Asynchronous Scaleout</ttl><xreftext>UIMA Asynchronous Scaleout</xreftext><div element="chapter" href="#ugr.async.ov" number="1" targetptr="ugr.async.ov"><ttl>Overview - Asynchronous Scaleout</ttl><xreftext>Chapter 1, <i xmlns:xlink="http://www.w3.org/1999/xlink">Overview - Asynchronous Scaleout</i></xreftext><div element="section" href="#ugr.async.ov.terminology" number="1.1" targetptr="ugr.async.ov.terminology"><ttl>Terminology</ttl><xreftext>Section 1.1, “Terminology”</xreftext></div><div element="section" href="#ugr.async.ov.as_vs_cpm" number="1.2" targetptr="ugr.async.ov.as_vs_cpm"><ttl>AS versus CPM</ttl><xreftext>Section 1.2, “AS versus CPM”</xreftext></div><div element="section" href="#ugr.async.ov.design_goals" number="1.3" targetptr="ugr.async.ov.design_goals"><ttl>Design goals for Asynchronous Scaleout</ttl><xreftext>Section 1.3, “Design goals for Asynchronous Scale
 out”</xreftext></div><div element="section" href="#ugr.async.ov.concepts" number="1.4" targetptr="ugr.async.ov.concepts"><ttl>AS Concepts</ttl><xreftext>Section 1.4, “AS Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.threading" number="1.4.1" targetptr="ugr.async.ov.concepts.threading"><ttl>User written components and multi-threading</ttl><xreftext>Section 1.4.1, “Threading”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.wrapping" number="1.4.2" targetptr="ugr.async.ov.concepts.wrapping"><ttl>AS Component wrapping</ttl><xreftext>Section 1.4.2, “AS Component wrapping”</xreftext><obj element="figure" href="#ugr.async.ov.fig.wrapAE" number="1.1" targetptr="ugr.async.ov.fig.wrapAE"><ttl>AS Primitive Wrapper</ttl><xreftext>Figure 1.1, “AS Primitive Wrapper”</xreftext></obj><obj element="figure" href="#ugr.async.ov.fig.wrapAAE" number="1.2" targetptr="ugr.async.ov.fig.wrapAAE"><t
 tl>AS Aggregate wrapper</ttl><xreftext>Figure 1.2, “AS Aggregate wrapper”</xreftext></obj></div><div element="section" href="#ugr.async.ov.concepts.deploying" number="1.4.3" targetptr="ugr.async.ov.concepts.deploying"><ttl>Deployment alternatives</ttl><xreftext>Section 1.4.3, “Deployment alternatives”</xreftext><div element="section" href="#ugr.async.ov.concepts.deploying.multiples" number="1.4.3.1" targetptr="ugr.async.ov.concepts.deploying.multiples"><ttl>Configuring multiple instances of components</ttl><xreftext>Section 1.4.3.1, “Multiple Instances”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deploying.queues" number="1.4.3.2" targetptr="ugr.async.ov.concepts.deploying.queues"><ttl>Queues</ttl><xreftext>Section 1.4.3.2, “Queues”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors" number="1.4.3.3" targetptr="ugr.async.ov.concepts.deployment_descriptors"><ttl
 >Deployment Descriptors</ttl><xreftext>Section 1.4.3.3, “Deployment Descriptors”</xreftext><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors.aggregate" number="" targetptr="ugr.async.ov.concepts.deployment_descriptors.aggregate"><ttl>Deploying UIMA aggregates</ttl><xreftext>the section called “Deploying UIMA aggregates”</xreftext></div></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits" number="1.4.4" targetptr="ugr.async.ov.concepts.first_limits"><ttl>Current design limitations</ttl><xreftext>Section 1.4.4, “Limits”</xreftext><div element="section" href="#ugr.async.ov.concepts.first_limits.sofa_mapping" number="1.4.4.1" targetptr="ugr.async.ov.concepts.first_limits.sofa_mapping"><ttl>Sofa Mapping limits</ttl><xreftext>Section 1.4.4.1, “Sofa Mapping limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.parameter_overriding" number="1.4.4.2" t
 argetptr="ugr.async.ov.concepts.first_limits.parameter_overriding"><ttl>Parameter Overriding limits</ttl><xreftext>Section 1.4.4.2, “Parameter Overriding limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.resource_sharing" number="1.4.4.3" targetptr="ugr.async.ov.concepts.first_limits.resource_sharing"><ttl>Resource Sharing limits</ttl><xreftext>Section 1.4.4.3, “Resource Sharing limits”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits.compatibility" number="1.4.5" targetptr="ugr.async.ov.concepts.first_limits.compatibility"><ttl>Compatibility with earlier version of remoting and scaleout</ttl><xreftext>Section 1.4.5, “Compatibility”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.application" number="1.5" targetptr="ugr.async.ov.concepts.application"><ttl>Application Concepts</ttl><xreftext>Section 1.5, “Application Conceptsâ�
 �</xreftext><div element="section" href="#ugr.async.ov.concepts.application.api" number="1.5.1" targetptr="ugr.async.ov.concepts.application.api"><ttl>Application API</ttl><xreftext>Section 1.5.1, “Application API”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_process_complete" number="1.5.2" targetptr="ugr.async.ov.concepts.collection_process_complete"><ttl>Collection Process Complete</ttl><xreftext>Section 1.5.2, “Collection Process Complete”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.mc" number="1.6" targetptr="ugr.async.ov.concepts.mc"><ttl>Monitoring and Controlling an AS application</ttl><xreftext>Section 1.6, “Monitoring &amp; Controlling”</xreftext><div element="section" href="#ugr.async.ov.concepts.mc.what" number="1.6.1" targetptr="ugr.async.ov.concepts.mc.what"><ttl>Instrumentation provided</ttl><xreftext>Section 1.6.1, “Instrumentation provided”</
 xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.jms_descriptor" number="1.7" targetptr="ugr.async.ov.concepts.jms_descriptor"><ttl>JMS Service Descriptor</ttl><xreftext>Section 1.7, “JMS Service Descriptor”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_reader" number="1.8" targetptr="ugr.async.ov.concepts.collection_reader"><ttl>Collection Reader support</ttl><xreftext>Section 1.8, “Collection Reader support”</xreftext></div></div><div element="chapter" href="#ugr.async.eh" number="2" targetptr="ugr.async.eh"><ttl>Error Handling for Asynchronous Scaleout</ttl><xreftext>Chapter 2, <i xmlns:xlink="http://www.w3.org/1999/xlink">Error Handling for Asynchronous Scaleout</i></xreftext><div element="section" href="#ugr.async.eh.basic" number="2.1" targetptr="ugr.async.eh.basic"><ttl>Basic concepts</ttl><xreftext>Section 2.1, “Basic concepts”</xreftext></div><div element="section" hre
 f="#ugr.async.eh.incoming_commands" number="2.2" targetptr="ugr.async.eh.incoming_commands"><ttl>Associating Errors with incoming commands</ttl><xreftext>Section 2.2, “Associating Errors with incoming commands”</xreftext><div element="section" href="#ugr.asynch.eh.cas_multipliers" number="2.2.1" targetptr="ugr.asynch.eh.cas_multipliers"><ttl>Error handling for CASes generated in an Aggregate by CAS Multipliers</ttl><xreftext>Section 2.2.1, “Error handling - CAS Multipliers”</xreftext></div></div><div element="section" href="#ugr.async.eh.error_handling_overview" number="2.3" targetptr="ugr.async.eh.error_handling_overview"><ttl>Error handling overview</ttl><xreftext>Section 2.3, “Error handling overview”</xreftext><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain" number="2.1" targetptr="ugr.async.eh.fig.basic_eh_chain"><ttl>Basic error handling chain for AS Aggregates for errors from delegates</ttl><xreftext>Figure 2.1, �
 �€œBasic error handling chain for AS Aggregates for errors from delegates”</xreftext></obj><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain_prim" number="2.2" targetptr="ugr.async.eh.fig.basic_eh_chain_prim"><ttl>Basic error handling chain for AS Primitives</ttl><xreftext>Figure 2.2, “Basic error handling chain for AS Primitives”</xreftext></obj></div><div element="section" href="#ugr.async.eh.error_results" number="2.4" targetptr="ugr.async.eh.error_results"><ttl>Error results</ttl><xreftext>Section 2.4, “Error results”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_managed" number="2.5" targetptr="ugr.async.eh.aggregate_managed"><ttl>Error Recovery actions</ttl><xreftext>Section 2.5, “Error Recovery actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions" number="2.5.1" targetptr="ugr.async.eh.aggregate_managed.actions"><ttl>Aggregate Error Actions</ttl><xreftext
 >Section 2.5.1, “Aggregate Error Actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions.retry" number="2.5.1.1" targetptr="ugr.async.eh.aggregate_managed.actions.retry"><ttl>Retry</ttl><xreftext>Section 2.5.1.1, “Retry”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_disable" number="2.5.1.2" targetptr="ugr.async.eh.aggregate_disable"><ttl>Disable Action</ttl><xreftext>Section 2.5.1.2, “Disable Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.disable" number="2.3" targetptr="ugr.async.eh.fig.disable"><ttl>Disable action</ttl><xreftext>Figure 2.3, “Disable action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.aggregate_managed.actions.continue" number="2.5.1.3" targetptr="ugr.async.eh.aggregate_managed.actions.continue"><ttl>Continue Option on Delegate Process CAS Failures</ttl><xreftext>Section 2.5.1.3, “Continue Option on Delega
 te Process CAS Failures”</xreftext></div></div></div><div element="section" href="#ugr.async.eh.errors_passed_up.thresholds" number="2.6" targetptr="ugr.async.eh.errors_passed_up.thresholds"><ttl>Thresholds for Terminate and Disable</ttl><xreftext>Section 2.6, “Thresholds for Terminate and Disable”</xreftext></div><div element="section" href="#ugr.async.eh.terminate" number="2.7" targetptr="ugr.async.eh.terminate"><ttl>Terminate Action</ttl><xreftext>Section 2.7, “Terminate Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.terminate" number="2.4" targetptr="ugr.async.eh.fig.terminate"><ttl>Terminate action</ttl><xreftext>Figure 2.4, “Terminate action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.commands_allowed_actions" number="2.8" targetptr="ugr.async.eh.commands_allowed_actions"><ttl>Commands and allowed actions</ttl><xreftext>Section 2.8, “Commands and allowed actions”</xreftext><
 obj element="table" href="#ugr.async.eh.table.error_actions_by_command" number="2.1" targetptr="ugr.async.eh.table.error_actions_by_command"><ttl>Error actions by command type</ttl><xreftext>Table 2.1, “Error actions by command type”</xreftext></obj></div></div><div element="chapter" href="#ugr.ref.async.deploy" number="3" targetptr="ugr.ref.async.deploy"><ttl>Asynchronous Scaleout Deployment Descriptor</ttl><xreftext>Chapter 3, <i xmlns:xlink="http://www.w3.org/1999/xlink">Asynchronous Scaleout Deployment Descriptor</i></xreftext><div element="section" href="#ugr.ref.async.deploy.descriptor_organization" number="3.1" targetptr="ugr.ref.async.deploy.descriptor_organization"><ttl>Descriptor Organization</ttl><xreftext>Section 3.1, “Descriptor Organization”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor" number="3.2" targetptr="ugr.ref.async.deploy.descriptor"><ttl>Deployment Descriptor</ttl><xreftext>Section 3.2, 
 “Deployment Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.caspool" number="3.3" targetptr="ugr.ref.async.deploy.descriptor.caspool"><ttl>CAS Pool</ttl><xreftext>Section 3.3, “CAS Pool”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.service" number="3.4" targetptr="ugr.ref.async.deploy.descriptor.service"><ttl>Service</ttl><xreftext>Section 3.4, “Service”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.custom" number="3.5" targetptr="ugr.ref.async.deploy.descriptor.custom"><ttl>Customizing the deployment</ttl><xreftext>Section 3.5, “Customizing the deployment”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.input_queue" number="3.6" targetptr="ugr.ref.async.deploy.descriptor.input_queue"><ttl>Input Queue</ttl><xreftext>Section 3.6, “Input Queue”</xreftext></div><div element="section
 " href="#ugr.ref.async.deploy.descriptor.top_descriptor" number="3.7" targetptr="ugr.ref.async.deploy.descriptor.top_descriptor"><ttl>Top level Analysis Engine descriptor</ttl><xreftext>Section 3.7, “Top Level AE Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.environment_variables" number="3.8" targetptr="ugr.ref.async.deploy.descriptor.environment_variables"><ttl>Setting Environment Variables</ttl><xreftext>Section 3.8, “Setting Environment Variables”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.ae" number="3.9" targetptr="ugr.ref.async.deploy.descriptor.ae"><ttl>Analysis Engine</ttl><xreftext>Section 3.9, “Analysis Engine”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig" number="3.10" targetptr="ugr.ref.async.deploy.descriptor.errorconfig"><ttl>Error Configuration descriptors</ttl><xreftext>Section 3.10, “Error
  Configuration descriptors”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig.defaults" number="3.11" targetptr="ugr.ref.async.deploy.descriptor.errorconfig.defaults"><ttl>Error Configuration defaults</ttl><xreftext>Section 3.11, “Error Configuration defaults”</xreftext></div></div><div element="chapter" href="#ugr.ref.async.api" number="4" targetptr="ugr.ref.async.api"><ttl>Asynchronous Scaleout Application Interface</ttl><xreftext>Chapter 4, <i xmlns:xlink="http://www.w3.org/1999/xlink">Asynchronous Scaleout Application Interface</i></xreftext><div element="section" href="#ugr.ref.async.api.organization" number="4.1" targetptr="ugr.ref.async.api.organization"><ttl>Asynchronous API Overview</ttl><xreftext>Section 4.1, “Asynchronous API Overview”</xreftext></div><div element="section" href="#ugr.ref.async.api.descriptor" number="4.2" targetptr="ugr.ref.async.api.descriptor"><ttl>The UimaAsynchronousEng
 ine Interface</ttl><xreftext>Section 4.2, “The UimaAsynchronousEngine Interface”</xreftext></div><div element="section" href="#ugr.ref.async.context.map" number="4.3" targetptr="ugr.ref.async.context.map"><ttl>Application Context Map</ttl><xreftext>Section 4.3, “Application Context Map”</xreftext></div><div element="section" href="#ugr.ref.async.callback.listener" number="4.4" targetptr="ugr.ref.async.callback.listener"><ttl>Status Callback Listener</ttl><xreftext>Section 4.4, “Status Callback Listener”</xreftext></div><div element="section" href="#ugr.ref.async.error.status" number="4.5" targetptr="ugr.ref.async.error.status"><ttl>Error Results</ttl><xreftext>Section 4.5, “Error Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage" number="4.6" targetptr="ugr.ref.async.api.usage"><ttl>Asynchronous API Usage Scenarios</ttl><xreftext>Section 4.6, “Asynchronous API Usage Scenarios”</xref
 text><div element="section" href="#ugr.ref.async.api.usage_initialize" number="4.6.1" targetptr="ugr.ref.async.api.usage_initialize"><ttl>Instantiating a Client API Object</ttl><xreftext>Section 4.6.1, “Instantiating a Client API Object”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_callservice" number="4.6.2" targetptr="ugr.ref.async.api.usage_callservice"><ttl>Calling an Existing Service</ttl><xreftext>Section 4.6.2, “Calling an Existing Service”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_getresults" number="4.6.3" targetptr="ugr.ref.async.api.usage_getresults"><ttl>Retrieving Asynchronous Results</ttl><xreftext>Section 4.6.3, “Retrieving Asynchronous Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_deployservice" number="4.6.4" targetptr="ugr.ref.async.api.usage_deployservice"><ttl>Deploying a Service with the Client API</ttl><xreftext>Section 4.6.4, 
 “Deploying a Service with the Client API”</xreftext></div></div><div element="section" href="#ugr.ref.async.api.usage_undeployservice" number="4.7" targetptr="ugr.ref.async.api.usage_undeployservice"><ttl>Undeploying a Service with the Client API</ttl><xreftext>Section 4.7, “Undeploying a Service with the Client API”</xreftext></div><div element="section" href="#ugr.ref.async.api.sample.code" number="4.8" targetptr="ugr.ref.async.api.sample.code"><ttl>Sample Code</ttl><xreftext>Section 4.8, “Sample Code”</xreftext></div></div><div element="chapter" href="#ugr.async.camel.driver" number="5" targetptr="ugr.async.camel.driver"><ttl>Asynchronous Scaleout Camel Driver</ttl><xreftext>Chapter 5, <i xmlns:xlink="http://www.w3.org/1999/xlink">Asynchronous Scaleout Camel Driver</i></xreftext><div element="section" href="#ugr.async.camel.driver.component" number="5.1" targetptr="ugr.async.camel.driver.component"><ttl>Overview</ttl><xreftext>Sectio
 n 5.1, “Overview”</xreftext></div><div element="section" href="#ugr.async.camel.driver.uri.format" number="5.2" targetptr="ugr.async.camel.driver.uri.format"><ttl>URI Format</ttl><xreftext>Section 5.2, “URI Format”</xreftext></div></div></div>
\ No newline at end of file

Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/pdf-target.db
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/pdf-target.db?rev=819626&r1=819625&r2=819626&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/pdf-target.db (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/olink/uima_async_scaleout/pdf-target.db Mon Sep 28 16:06:30 2009
@@ -1 +1 @@
-<div element="book" href="#d0e2" number="" lang="en"><ttl>UIMA Asynchronous Scaleout</ttl><xreftext>UIMA Asynchronous Scaleout</xreftext><div element="chapter" href="#ugr.async.ov" number="1" targetptr="ugr.async.ov"><ttl>Overview - Asynchronous Scaleout</ttl><xreftext>Chapter 1, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Overview - Asynchronous Scaleout</fo:inline></xreftext><div element="section" href="#ugr.async.ov.terminology" number="1.1" targetptr="ugr.async.ov.terminology"><ttl>Terminology</ttl><xreftext>Section 1.1, “Terminology”</xreftext></div><div element="section" href="#ugr.async.ov.as_vs_cpm" number="1.2" targetptr="ugr.async.ov.as_vs_cpm"><ttl>AS versus CPM</ttl><xreftext>Section 1.2, “AS versus CPM”</xreftext></div><div element="section" href="#ugr.async.ov.design_goals" number="1.3" targetptr="ugr.async.ov.design_goals"><ttl>Design goals for Asynchronous 
 Scaleout</ttl><xreftext>Section 1.3, “Design goals for Asynchronous Scaleout”</xreftext></div><div element="section" href="#ugr.async.ov.concepts" number="1.4" targetptr="ugr.async.ov.concepts"><ttl>AS Concepts</ttl><xreftext>Section 1.4, “AS Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.threading" number="1.4.1" targetptr="ugr.async.ov.concepts.threading"><ttl>User written components and multi-threading</ttl><xreftext>Section 1.4.1, “Threading”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.wrapping" number="1.4.2" targetptr="ugr.async.ov.concepts.wrapping"><ttl>AS Component wrapping</ttl><xreftext>Section 1.4.2, “AS Component wrapping”</xreftext><obj element="figure" href="#ugr.async.ov.fig.wrapAE" number="1.1" targetptr="ugr.async.ov.fig.wrapAE"><ttl>AS Primitive Wrapper</ttl><xreftext>Figure 1.1, “AS Primitive Wrapper”</xreftext></obj><obj element="figure" href
 ="#ugr.async.ov.fig.wrapAAE" number="1.2" targetptr="ugr.async.ov.fig.wrapAAE"><ttl>AS Aggregate wrapper</ttl><xreftext>Figure 1.2, “AS Aggregate wrapper”</xreftext></obj></div><div element="section" href="#ugr.async.ov.concepts.deploying" number="1.4.3" targetptr="ugr.async.ov.concepts.deploying"><ttl>Deployment alternatives</ttl><xreftext>Section 1.4.3, “Deployment alternatives”</xreftext><div element="section" href="#ugr.async.ov.concepts.deploying.multiples" number="1.4.3.1" targetptr="ugr.async.ov.concepts.deploying.multiples"><ttl>Configuring multiple instances of components</ttl><xreftext>Section 1.4.3.1, “Multiple Instances”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deploying.queues" number="1.4.3.2" targetptr="ugr.async.ov.concepts.deploying.queues"><ttl>Queues</ttl><xreftext>Section 1.4.3.2, “Queues”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deployment_descriptor
 s" number="1.4.3.3" targetptr="ugr.async.ov.concepts.deployment_descriptors"><ttl>Deployment Descriptors</ttl><xreftext>Section 1.4.3.3, “Deployment Descriptors”</xreftext><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors.aggregate" number="" targetptr="ugr.async.ov.concepts.deployment_descriptors.aggregate"><ttl>Deploying UIMA aggregates</ttl><xreftext>the section called “Deploying UIMA aggregates”</xreftext></div></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits" number="1.4.4" targetptr="ugr.async.ov.concepts.first_limits"><ttl>Current design limitations</ttl><xreftext>Section 1.4.4, “Limits”</xreftext><div element="section" href="#ugr.async.ov.concepts.first_limits.sofa_mapping" number="1.4.4.1" targetptr="ugr.async.ov.concepts.first_limits.sofa_mapping"><ttl>Sofa Mapping limits</ttl><xreftext>Section 1.4.4.1, “Sofa Mapping limits”</xreftext></div><div element="section" h
 ref="#ugr.async.ov.concepts.first_limits.parameter_overriding" number="1.4.4.2" targetptr="ugr.async.ov.concepts.first_limits.parameter_overriding"><ttl>Parameter Overriding limits</ttl><xreftext>Section 1.4.4.2, “Parameter Overriding limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.resource_sharing" number="1.4.4.3" targetptr="ugr.async.ov.concepts.first_limits.resource_sharing"><ttl>Resource Sharing limits</ttl><xreftext>Section 1.4.4.3, “Resource Sharing limits”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits.compatibility" number="1.4.5" targetptr="ugr.async.ov.concepts.first_limits.compatibility"><ttl>Compatibility with earlier version of remoting and scaleout</ttl><xreftext>Section 1.4.5, “Compatibility”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.application" number="1.5" targetptr="ugr.async.ov.concepts.application"><ttl>
 Application Concepts</ttl><xreftext>Section 1.5, “Application Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.application.api" number="1.5.1" targetptr="ugr.async.ov.concepts.application.api"><ttl>Application API</ttl><xreftext>Section 1.5.1, “Application API”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_process_complete" number="1.5.2" targetptr="ugr.async.ov.concepts.collection_process_complete"><ttl>Collection Process Complete</ttl><xreftext>Section 1.5.2, “Collection Process Complete”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.mc" number="1.6" targetptr="ugr.async.ov.concepts.mc"><ttl>Monitoring and Controlling an AS application</ttl><xreftext>Section 1.6, “Monitoring &amp; Controlling”</xreftext><div element="section" href="#ugr.async.ov.concepts.mc.what" number="1.6.1" targetptr="ugr.async.ov.concepts.mc.what"><ttl>Instrumentation
  provided</ttl><xreftext>Section 1.6.1, “Instrumentation provided”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.jms_descriptor" number="1.7" targetptr="ugr.async.ov.concepts.jms_descriptor"><ttl>JMS Service Descriptor</ttl><xreftext>Section 1.7, “JMS Service Descriptor”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_reader" number="1.8" targetptr="ugr.async.ov.concepts.collection_reader"><ttl>Collection Reader support</ttl><xreftext>Section 1.8, “Collection Reader support”</xreftext></div></div><div element="chapter" href="#ugr.async.eh" number="2" targetptr="ugr.async.eh"><ttl>Error Handling for Asynchronous Scaleout</ttl><xreftext>Chapter 2, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Error Handling for Asynchronous Scaleout</fo:inline></xreftext><div element="section" href="#ugr.async.eh.basic" nu
 mber="2.1" targetptr="ugr.async.eh.basic"><ttl>Basic concepts</ttl><xreftext>Section 2.1, “Basic concepts”</xreftext></div><div element="section" href="#ugr.async.eh.incoming_commands" number="2.2" targetptr="ugr.async.eh.incoming_commands"><ttl>Associating Errors with incoming commands</ttl><xreftext>Section 2.2, “Associating Errors with incoming commands”</xreftext></div><div element="section" href="#ugr.async.eh.error_handling_overview" number="2.3" targetptr="ugr.async.eh.error_handling_overview"><ttl>Error handling overview</ttl><xreftext>Section 2.3, “Error handling overview”</xreftext><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain" number="2.1" targetptr="ugr.async.eh.fig.basic_eh_chain"><ttl>Basic error handling chain for AS Aggregates for errors from delegates</ttl><xreftext>Figure 2.1, “Basic error handling chain for AS Aggregates for errors from delegates”</xreftext></obj><obj element="figure" href=
 "#ugr.async.eh.fig.basic_eh_chain_prim" number="2.2" targetptr="ugr.async.eh.fig.basic_eh_chain_prim"><ttl>Basic error handling chain for AS Primitives</ttl><xreftext>Figure 2.2, “Basic error handling chain for AS Primitives”</xreftext></obj></div><div element="section" href="#ugr.async.eh.error_results" number="2.4" targetptr="ugr.async.eh.error_results"><ttl>Error results</ttl><xreftext>Section 2.4, “Error results”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_managed" number="2.5" targetptr="ugr.async.eh.aggregate_managed"><ttl>Error Recovery actions</ttl><xreftext>Section 2.5, “Error Recovery actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions" number="2.5.1" targetptr="ugr.async.eh.aggregate_managed.actions"><ttl>Aggregate Error Actions</ttl><xreftext>Section 2.5.1, “Aggregate Error Actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed
 .actions.retry" number="2.5.1.1" targetptr="ugr.async.eh.aggregate_managed.actions.retry"><ttl>Retry</ttl><xreftext>Section 2.5.1.1, “Retry”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_disable" number="2.5.1.2" targetptr="ugr.async.eh.aggregate_disable"><ttl>Disable Action</ttl><xreftext>Section 2.5.1.2, “Disable Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.disable" number="2.3" targetptr="ugr.async.eh.fig.disable"><ttl>Disable action</ttl><xreftext>Figure 2.3, “Disable action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.aggregate_managed.actions.continue" number="2.5.1.3" targetptr="ugr.async.eh.aggregate_managed.actions.continue"><ttl>Continue Option on Delegate Process CAS Failures</ttl><xreftext>Section 2.5.1.3, “Continue Option on Delegate Process CAS Failures”</xreftext></div></div></div><div element="section" href="#ugr.async.eh.errors_passed_up.thresho
 lds" number="2.6" targetptr="ugr.async.eh.errors_passed_up.thresholds"><ttl>Thresholds for Terminate and Disable</ttl><xreftext>Section 2.6, “Thresholds for Terminate and Disable”</xreftext></div><div element="section" href="#ugr.async.eh.terminate" number="2.7" targetptr="ugr.async.eh.terminate"><ttl>Terminate Action</ttl><xreftext>Section 2.7, “Terminate Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.terminate" number="2.4" targetptr="ugr.async.eh.fig.terminate"><ttl>Terminate action</ttl><xreftext>Figure 2.4, “Terminate action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.commands_allowed_actions" number="2.8" targetptr="ugr.async.eh.commands_allowed_actions"><ttl>Commands and allowed actions</ttl><xreftext>Section 2.8, “Commands and allowed actions”</xreftext><obj element="table" href="#ugr.async.eh.table.error_actions_by_command" number="2.1" targetptr="ugr.async.eh.table.error_acti
 ons_by_command"><ttl>Error actions by command type</ttl><xreftext>Table 2.1, “Error actions by command type”</xreftext></obj></div></div><div element="chapter" href="#ugr.ref.async.deploy" number="3" targetptr="ugr.ref.async.deploy"><ttl>Asynchronous Scaleout Deployment Descriptor</ttl><xreftext>Chapter 3, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Asynchronous Scaleout Deployment Descriptor</fo:inline></xreftext><div element="section" href="#ugr.ref.async.deploy.descriptor_organization" number="3.1" targetptr="ugr.ref.async.deploy.descriptor_organization"><ttl>Descriptor Organization</ttl><xreftext>Section 3.1, “Descriptor Organization”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor" number="3.2" targetptr="ugr.ref.async.deploy.descriptor"><ttl>Deployment Descriptor</ttl><xreftext>Section 3.2, “Deployment Descriptor”</xreftext>
 </div><div element="section" href="#ugr.ref.async.deploy.descriptor.caspool" number="3.3" targetptr="ugr.ref.async.deploy.descriptor.caspool"><ttl>CAS Pool</ttl><xreftext>Section 3.3, “CAS Pool”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.service" number="3.4" targetptr="ugr.ref.async.deploy.descriptor.service"><ttl>Service</ttl><xreftext>Section 3.4, “Service”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.custom" number="3.5" targetptr="ugr.ref.async.deploy.descriptor.custom"><ttl>Customizing the deployment</ttl><xreftext>Section 3.5, “Customizing the deployment”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.input_queue" number="3.6" targetptr="ugr.ref.async.deploy.descriptor.input_queue"><ttl>Input Queue</ttl><xreftext>Section 3.6, “Input Queue”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.top
 _descriptor" number="3.7" targetptr="ugr.ref.async.deploy.descriptor.top_descriptor"><ttl>Top level Analysis Engine descriptor</ttl><xreftext>Section 3.7, “Top Level AE Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.environment_variables" number="3.8" targetptr="ugr.ref.async.deploy.descriptor.environment_variables"><ttl>Setting Environment Variables</ttl><xreftext>Section 3.8, “Setting Environment Variables”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.ae" number="3.9" targetptr="ugr.ref.async.deploy.descriptor.ae"><ttl>Analysis Engine</ttl><xreftext>Section 3.9, “Analysis Engine”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig" number="3.10" targetptr="ugr.ref.async.deploy.descriptor.errorconfig"><ttl>Error Configuration descriptors</ttl><xreftext>Section 3.10, “Error Configuration descriptors”</xreftext><
 /div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig.defaults" number="3.11" targetptr="ugr.ref.async.deploy.descriptor.errorconfig.defaults"><ttl>Error Configuration defaults</ttl><xreftext>Section 3.11, “Error Configuration defaults”</xreftext></div></div><div element="chapter" href="#ugr.ref.async.api" number="4" targetptr="ugr.ref.async.api"><ttl>Asynchronous Scaleout Application Interface</ttl><xreftext>Chapter 4, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Asynchronous Scaleout Application Interface</fo:inline></xreftext><div element="section" href="#ugr.ref.async.api.organization" number="4.1" targetptr="ugr.ref.async.api.organization"><ttl>Asynchronous API Overview</ttl><xreftext>Section 4.1, “Asynchronous API Overview”</xreftext></div><div element="section" href="#ugr.ref.async.api.descriptor" number="4.2" targetptr="ugr.ref.async.api.des
 criptor"><ttl>The UimaAsynchronousEngine Interface</ttl><xreftext>Section 4.2, “The UimaAsynchronousEngine Interface”</xreftext></div><div element="section" href="#ugr.ref.async.context.map" number="4.3" targetptr="ugr.ref.async.context.map"><ttl>Application Context Map</ttl><xreftext>Section 4.3, “Application Context Map”</xreftext></div><div element="section" href="#ugr.ref.async.callback.listener" number="4.4" targetptr="ugr.ref.async.callback.listener"><ttl>Status Callback Listener</ttl><xreftext>Section 4.4, “Status Callback Listener”</xreftext></div><div element="section" href="#ugr.ref.async.error.status" number="4.5" targetptr="ugr.ref.async.error.status"><ttl>Error Results</ttl><xreftext>Section 4.5, “Error Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage" number="4.6" targetptr="ugr.ref.async.api.usage"><ttl>Asynchronous API Usage Scenarios</ttl><xreftext>Section 4.6, “Asynchr
 onous API Usage Scenarios”</xreftext><div element="section" href="#ugr.ref.async.api.usage_initialize" number="4.6.1" targetptr="ugr.ref.async.api.usage_initialize"><ttl>Instantiating a Client API Object</ttl><xreftext>Section 4.6.1, “Instantiating a Client API Object”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_callservice" number="4.6.2" targetptr="ugr.ref.async.api.usage_callservice"><ttl>Calling an Existing Service</ttl><xreftext>Section 4.6.2, “Calling an Existing Service”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_getresults" number="4.6.3" targetptr="ugr.ref.async.api.usage_getresults"><ttl>Retrieving Asynchronous Results</ttl><xreftext>Section 4.6.3, “Retrieving Asynchronous Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_deployservice" number="4.6.4" targetptr="ugr.ref.async.api.usage_deployservice"><ttl>Deploying a Service with the Client 
 API</ttl><xreftext>Section 4.6.4, “Deploying a Service with the Client API”</xreftext></div></div><div element="section" href="#ugr.ref.async.api.sample.code" number="4.7" targetptr="ugr.ref.async.api.sample.code"><ttl>Sample Code</ttl><xreftext>Section 4.7, “Sample Code”</xreftext></div></div></div>
\ No newline at end of file
+<div element="book" href="#d0e2" number="" lang="en"><ttl>UIMA Asynchronous Scaleout</ttl><xreftext>UIMA Asynchronous Scaleout</xreftext><div element="chapter" href="#ugr.async.ov" number="1" targetptr="ugr.async.ov"><ttl>Overview - Asynchronous Scaleout</ttl><xreftext>Chapter 1, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Overview - Asynchronous Scaleout</fo:inline></xreftext><div element="section" href="#ugr.async.ov.terminology" number="1.1" targetptr="ugr.async.ov.terminology"><ttl>Terminology</ttl><xreftext>Section 1.1, “Terminology”</xreftext></div><div element="section" href="#ugr.async.ov.as_vs_cpm" number="1.2" targetptr="ugr.async.ov.as_vs_cpm"><ttl>AS versus CPM</ttl><xreftext>Section 1.2, “AS versus CPM”</xreftext></div><div element="section" href="#ugr.async.ov.design_goals" number="1.3" targetptr="ugr.async.ov.design_goals"><ttl>Design goals for Asynchronous 
 Scaleout</ttl><xreftext>Section 1.3, “Design goals for Asynchronous Scaleout”</xreftext></div><div element="section" href="#ugr.async.ov.concepts" number="1.4" targetptr="ugr.async.ov.concepts"><ttl>AS Concepts</ttl><xreftext>Section 1.4, “AS Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.threading" number="1.4.1" targetptr="ugr.async.ov.concepts.threading"><ttl>User written components and multi-threading</ttl><xreftext>Section 1.4.1, “Threading”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.wrapping" number="1.4.2" targetptr="ugr.async.ov.concepts.wrapping"><ttl>AS Component wrapping</ttl><xreftext>Section 1.4.2, “AS Component wrapping”</xreftext><obj element="figure" href="#ugr.async.ov.fig.wrapAE" number="1.1" targetptr="ugr.async.ov.fig.wrapAE"><ttl>AS Primitive Wrapper</ttl><xreftext>Figure 1.1, “AS Primitive Wrapper”</xreftext></obj><obj element="figure" href
 ="#ugr.async.ov.fig.wrapAAE" number="1.2" targetptr="ugr.async.ov.fig.wrapAAE"><ttl>AS Aggregate wrapper</ttl><xreftext>Figure 1.2, “AS Aggregate wrapper”</xreftext></obj></div><div element="section" href="#ugr.async.ov.concepts.deploying" number="1.4.3" targetptr="ugr.async.ov.concepts.deploying"><ttl>Deployment alternatives</ttl><xreftext>Section 1.4.3, “Deployment alternatives”</xreftext><div element="section" href="#ugr.async.ov.concepts.deploying.multiples" number="1.4.3.1" targetptr="ugr.async.ov.concepts.deploying.multiples"><ttl>Configuring multiple instances of components</ttl><xreftext>Section 1.4.3.1, “Multiple Instances”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deploying.queues" number="1.4.3.2" targetptr="ugr.async.ov.concepts.deploying.queues"><ttl>Queues</ttl><xreftext>Section 1.4.3.2, “Queues”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.deployment_descriptor
 s" number="1.4.3.3" targetptr="ugr.async.ov.concepts.deployment_descriptors"><ttl>Deployment Descriptors</ttl><xreftext>Section 1.4.3.3, “Deployment Descriptors”</xreftext><div element="section" href="#ugr.async.ov.concepts.deployment_descriptors.aggregate" number="" targetptr="ugr.async.ov.concepts.deployment_descriptors.aggregate"><ttl>Deploying UIMA aggregates</ttl><xreftext>the section called “Deploying UIMA aggregates”</xreftext></div></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits" number="1.4.4" targetptr="ugr.async.ov.concepts.first_limits"><ttl>Current design limitations</ttl><xreftext>Section 1.4.4, “Limits”</xreftext><div element="section" href="#ugr.async.ov.concepts.first_limits.sofa_mapping" number="1.4.4.1" targetptr="ugr.async.ov.concepts.first_limits.sofa_mapping"><ttl>Sofa Mapping limits</ttl><xreftext>Section 1.4.4.1, “Sofa Mapping limits”</xreftext></div><div element="section" h
 ref="#ugr.async.ov.concepts.first_limits.parameter_overriding" number="1.4.4.2" targetptr="ugr.async.ov.concepts.first_limits.parameter_overriding"><ttl>Parameter Overriding limits</ttl><xreftext>Section 1.4.4.2, “Parameter Overriding limits”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.first_limits.resource_sharing" number="1.4.4.3" targetptr="ugr.async.ov.concepts.first_limits.resource_sharing"><ttl>Resource Sharing limits</ttl><xreftext>Section 1.4.4.3, “Resource Sharing limits”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.first_limits.compatibility" number="1.4.5" targetptr="ugr.async.ov.concepts.first_limits.compatibility"><ttl>Compatibility with earlier version of remoting and scaleout</ttl><xreftext>Section 1.4.5, “Compatibility”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.application" number="1.5" targetptr="ugr.async.ov.concepts.application"><ttl>
 Application Concepts</ttl><xreftext>Section 1.5, “Application Concepts”</xreftext><div element="section" href="#ugr.async.ov.concepts.application.api" number="1.5.1" targetptr="ugr.async.ov.concepts.application.api"><ttl>Application API</ttl><xreftext>Section 1.5.1, “Application API”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_process_complete" number="1.5.2" targetptr="ugr.async.ov.concepts.collection_process_complete"><ttl>Collection Process Complete</ttl><xreftext>Section 1.5.2, “Collection Process Complete”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.mc" number="1.6" targetptr="ugr.async.ov.concepts.mc"><ttl>Monitoring and Controlling an AS application</ttl><xreftext>Section 1.6, “Monitoring &amp; Controlling”</xreftext><div element="section" href="#ugr.async.ov.concepts.mc.what" number="1.6.1" targetptr="ugr.async.ov.concepts.mc.what"><ttl>Instrumentation
  provided</ttl><xreftext>Section 1.6.1, “Instrumentation provided”</xreftext></div></div><div element="section" href="#ugr.async.ov.concepts.jms_descriptor" number="1.7" targetptr="ugr.async.ov.concepts.jms_descriptor"><ttl>JMS Service Descriptor</ttl><xreftext>Section 1.7, “JMS Service Descriptor”</xreftext></div><div element="section" href="#ugr.async.ov.concepts.collection_reader" number="1.8" targetptr="ugr.async.ov.concepts.collection_reader"><ttl>Collection Reader support</ttl><xreftext>Section 1.8, “Collection Reader support”</xreftext></div></div><div element="chapter" href="#ugr.async.eh" number="2" targetptr="ugr.async.eh"><ttl>Error Handling for Asynchronous Scaleout</ttl><xreftext>Chapter 2, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Error Handling for Asynchronous Scaleout</fo:inline></xreftext><div element="section" href="#ugr.async.eh.basic" nu
 mber="2.1" targetptr="ugr.async.eh.basic"><ttl>Basic concepts</ttl><xreftext>Section 2.1, “Basic concepts”</xreftext></div><div element="section" href="#ugr.async.eh.incoming_commands" number="2.2" targetptr="ugr.async.eh.incoming_commands"><ttl>Associating Errors with incoming commands</ttl><xreftext>Section 2.2, “Associating Errors with incoming commands”</xreftext><div element="section" href="#ugr.asynch.eh.cas_multipliers" number="2.2.1" targetptr="ugr.asynch.eh.cas_multipliers"><ttl>Error handling for CASes generated in an Aggregate by CAS Multipliers</ttl><xreftext>Section 2.2.1, “Error handling - CAS Multipliers”</xreftext></div></div><div element="section" href="#ugr.async.eh.error_handling_overview" number="2.3" targetptr="ugr.async.eh.error_handling_overview"><ttl>Error handling overview</ttl><xreftext>Section 2.3, “Error handling overview”</xreftext><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain" nu
 mber="2.1" targetptr="ugr.async.eh.fig.basic_eh_chain"><ttl>Basic error handling chain for AS Aggregates for errors from delegates</ttl><xreftext>Figure 2.1, “Basic error handling chain for AS Aggregates for errors from delegates”</xreftext></obj><obj element="figure" href="#ugr.async.eh.fig.basic_eh_chain_prim" number="2.2" targetptr="ugr.async.eh.fig.basic_eh_chain_prim"><ttl>Basic error handling chain for AS Primitives</ttl><xreftext>Figure 2.2, “Basic error handling chain for AS Primitives”</xreftext></obj></div><div element="section" href="#ugr.async.eh.error_results" number="2.4" targetptr="ugr.async.eh.error_results"><ttl>Error results</ttl><xreftext>Section 2.4, “Error results”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_managed" number="2.5" targetptr="ugr.async.eh.aggregate_managed"><ttl>Error Recovery actions</ttl><xreftext>Section 2.5, “Error Recovery actions”</xreftext><div element="sec
 tion" href="#ugr.async.eh.aggregate_managed.actions" number="2.5.1" targetptr="ugr.async.eh.aggregate_managed.actions"><ttl>Aggregate Error Actions</ttl><xreftext>Section 2.5.1, “Aggregate Error Actions”</xreftext><div element="section" href="#ugr.async.eh.aggregate_managed.actions.retry" number="2.5.1.1" targetptr="ugr.async.eh.aggregate_managed.actions.retry"><ttl>Retry</ttl><xreftext>Section 2.5.1.1, “Retry”</xreftext></div><div element="section" href="#ugr.async.eh.aggregate_disable" number="2.5.1.2" targetptr="ugr.async.eh.aggregate_disable"><ttl>Disable Action</ttl><xreftext>Section 2.5.1.2, “Disable Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.disable" number="2.3" targetptr="ugr.async.eh.fig.disable"><ttl>Disable action</ttl><xreftext>Figure 2.3, “Disable action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.aggregate_managed.actions.continue" number="2.5.1.3" targetptr="ugr.asy
 nc.eh.aggregate_managed.actions.continue"><ttl>Continue Option on Delegate Process CAS Failures</ttl><xreftext>Section 2.5.1.3, “Continue Option on Delegate Process CAS Failures”</xreftext></div></div></div><div element="section" href="#ugr.async.eh.errors_passed_up.thresholds" number="2.6" targetptr="ugr.async.eh.errors_passed_up.thresholds"><ttl>Thresholds for Terminate and Disable</ttl><xreftext>Section 2.6, “Thresholds for Terminate and Disable”</xreftext></div><div element="section" href="#ugr.async.eh.terminate" number="2.7" targetptr="ugr.async.eh.terminate"><ttl>Terminate Action</ttl><xreftext>Section 2.7, “Terminate Action”</xreftext><obj element="figure" href="#ugr.async.eh.fig.terminate" number="2.4" targetptr="ugr.async.eh.fig.terminate"><ttl>Terminate action</ttl><xreftext>Figure 2.4, “Terminate action”</xreftext></obj></div><div element="section" href="#ugr.async.eh.commands_allowed_actions" number="2.8" targe
 tptr="ugr.async.eh.commands_allowed_actions"><ttl>Commands and allowed actions</ttl><xreftext>Section 2.8, “Commands and allowed actions”</xreftext><obj element="table" href="#ugr.async.eh.table.error_actions_by_command" number="2.1" targetptr="ugr.async.eh.table.error_actions_by_command"><ttl>Error actions by command type</ttl><xreftext>Table 2.1, “Error actions by command type”</xreftext></obj></div></div><div element="chapter" href="#ugr.ref.async.deploy" number="3" targetptr="ugr.ref.async.deploy"><ttl>Asynchronous Scaleout Deployment Descriptor</ttl><xreftext>Chapter 3, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Asynchronous Scaleout Deployment Descriptor</fo:inline></xreftext><div element="section" href="#ugr.ref.async.deploy.descriptor_organization" number="3.1" targetptr="ugr.ref.async.deploy.descriptor_organization"><ttl>Descriptor Organization</ttl><xreftext>Sec
 tion 3.1, “Descriptor Organization”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor" number="3.2" targetptr="ugr.ref.async.deploy.descriptor"><ttl>Deployment Descriptor</ttl><xreftext>Section 3.2, “Deployment Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.caspool" number="3.3" targetptr="ugr.ref.async.deploy.descriptor.caspool"><ttl>CAS Pool</ttl><xreftext>Section 3.3, “CAS Pool”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.service" number="3.4" targetptr="ugr.ref.async.deploy.descriptor.service"><ttl>Service</ttl><xreftext>Section 3.4, “Service”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.custom" number="3.5" targetptr="ugr.ref.async.deploy.descriptor.custom"><ttl>Customizing the deployment</ttl><xreftext>Section 3.5, “Customizing the deployment”</xreftext></div><div eleme
 nt="section" href="#ugr.ref.async.deploy.descriptor.input_queue" number="3.6" targetptr="ugr.ref.async.deploy.descriptor.input_queue"><ttl>Input Queue</ttl><xreftext>Section 3.6, “Input Queue”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.top_descriptor" number="3.7" targetptr="ugr.ref.async.deploy.descriptor.top_descriptor"><ttl>Top level Analysis Engine descriptor</ttl><xreftext>Section 3.7, “Top Level AE Descriptor”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.environment_variables" number="3.8" targetptr="ugr.ref.async.deploy.descriptor.environment_variables"><ttl>Setting Environment Variables</ttl><xreftext>Section 3.8, “Setting Environment Variables”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.ae" number="3.9" targetptr="ugr.ref.async.deploy.descriptor.ae"><ttl>Analysis Engine</ttl><xreftext>Section 3.9, “Analysis Engineâ€�
 �</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig" number="3.10" targetptr="ugr.ref.async.deploy.descriptor.errorconfig"><ttl>Error Configuration descriptors</ttl><xreftext>Section 3.10, “Error Configuration descriptors”</xreftext></div><div element="section" href="#ugr.ref.async.deploy.descriptor.errorconfig.defaults" number="3.11" targetptr="ugr.ref.async.deploy.descriptor.errorconfig.defaults"><ttl>Error Configuration defaults</ttl><xreftext>Section 3.11, “Error Configuration defaults”</xreftext></div></div><div element="chapter" href="#ugr.ref.async.api" number="4" targetptr="ugr.ref.async.api"><ttl>Asynchronous Scaleout Application Interface</ttl><xreftext>Chapter 4, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Asynchronous Scaleout Application Interface</fo:inline></xreftext><div element="section" href="#ugr.ref.async.api.orga
 nization" number="4.1" targetptr="ugr.ref.async.api.organization"><ttl>Asynchronous API Overview</ttl><xreftext>Section 4.1, “Asynchronous API Overview”</xreftext></div><div element="section" href="#ugr.ref.async.api.descriptor" number="4.2" targetptr="ugr.ref.async.api.descriptor"><ttl>The UimaAsynchronousEngine Interface</ttl><xreftext>Section 4.2, “The UimaAsynchronousEngine Interface”</xreftext></div><div element="section" href="#ugr.ref.async.context.map" number="4.3" targetptr="ugr.ref.async.context.map"><ttl>Application Context Map</ttl><xreftext>Section 4.3, “Application Context Map”</xreftext></div><div element="section" href="#ugr.ref.async.callback.listener" number="4.4" targetptr="ugr.ref.async.callback.listener"><ttl>Status Callback Listener</ttl><xreftext>Section 4.4, “Status Callback Listener”</xreftext></div><div element="section" href="#ugr.ref.async.error.status" number="4.5" targetptr="ugr.ref.async.error
 .status"><ttl>Error Results</ttl><xreftext>Section 4.5, “Error Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage" number="4.6" targetptr="ugr.ref.async.api.usage"><ttl>Asynchronous API Usage Scenarios</ttl><xreftext>Section 4.6, “Asynchronous API Usage Scenarios”</xreftext><div element="section" href="#ugr.ref.async.api.usage_initialize" number="4.6.1" targetptr="ugr.ref.async.api.usage_initialize"><ttl>Instantiating a Client API Object</ttl><xreftext>Section 4.6.1, “Instantiating a Client API Object”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_callservice" number="4.6.2" targetptr="ugr.ref.async.api.usage_callservice"><ttl>Calling an Existing Service</ttl><xreftext>Section 4.6.2, “Calling an Existing Service”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_getresults" number="4.6.3" targetptr="ugr.ref.async.api.usage_getresults"><ttl>Retrieving As
 ynchronous Results</ttl><xreftext>Section 4.6.3, “Retrieving Asynchronous Results”</xreftext></div><div element="section" href="#ugr.ref.async.api.usage_deployservice" number="4.6.4" targetptr="ugr.ref.async.api.usage_deployservice"><ttl>Deploying a Service with the Client API</ttl><xreftext>Section 4.6.4, “Deploying a Service with the Client API”</xreftext></div></div><div element="section" href="#ugr.ref.async.api.usage_undeployservice" number="4.7" targetptr="ugr.ref.async.api.usage_undeployservice"><ttl>Undeploying a Service with the Client API</ttl><xreftext>Section 4.7, “Undeploying a Service with the Client API”</xreftext></div><div element="section" href="#ugr.ref.async.api.sample.code" number="4.8" targetptr="ugr.ref.async.api.sample.code"><ttl>Sample Code</ttl><xreftext>Section 4.8, “Sample Code”</xreftext></div></div><div element="chapter" href="#ugr.async.camel.driver" number="5" targetptr="ugr.async.camel.drive
 r"><ttl>Asynchronous Scaleout Camel Driver</ttl><xreftext>Chapter 5, <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-style="italic">Asynchronous Scaleout Camel Driver</fo:inline></xreftext><div element="section" href="#ugr.async.camel.driver.component" number="5.1" targetptr="ugr.async.camel.driver.component"><ttl>Overview</ttl><xreftext>Section 5.1, “Overview”</xreftext></div><div element="section" href="#ugr.async.camel.driver.uri.format" number="5.2" targetptr="ugr.async.camel.driver.uri.format"><ttl>URI Format</ttl><xreftext>Section 5.2, “URI Format”</xreftext></div></div></div>
\ No newline at end of file