<?xml version="1.0" encoding="UTF-8"?>

  <!--
   ***************************************************************
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
         *
   *   http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing,
   * software distributed under the License is distributed on an
   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   * KIND, either express or implied.  See the License for the
   * specific language governing permissions and limitations
   * under the License.
   ***************************************************************
   -->

<analysisEngineDeploymentDescription xmlns="http://uima.apache.org/resourceSpecifier">
  
  <name>Top Level TAE</name>
  <description></description>
  
  <deployment protocol="jms" provider="activemq">
    <casPool numberOfCASes="5"/>
    <service>
      <inputQueue endpoint="TopLevelTaeQueue" brokerURL="${DefaultBrokerURL}" prefetch="1"/>
      <topDescriptor>
        <import location="../descriptors/analysis_engine/SimpleTestAggregate.xml"/>
      </topDescriptor>
      <analysisEngine>
        <delegates>
        
          <analysisEngine key="TestMultiplier">
	        <casMultiplier poolSize="5"/> 
          </analysisEngine>

          <remoteAnalysisEngine key="NoOp" remoteReplyQueueScaleout="3">
	                  <inputQueue endpoint="NoOpAnnotatorQueue" brokerURL="${BrokerURL}"/>
	                  <serializer method="xmi"/>
                      <asyncAggregateErrorConfiguration>
                            <getMetadataErrors maxRetries="3" timeout="15000" errorAction="continue" />
                            <processCasErrors maxRetries="0" timeout="15000" thresholdCount="1" thresholdAction="terminate" />
                      </asyncAggregateErrorConfiguration>
          </remoteAnalysisEngine>

        </delegates>
      </analysisEngine>
    </service>
  </deployment>
  
</analysisEngineDeploymentDescription>