<?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" initialFsHeapSize="500"/>
    <service>
      <inputQueue endpoint="TopLevelTaeQueue" brokerURL="${DefaultBrokerURL}" prefetch="1"/>
      <topDescriptor>
        <import location="../descriptors/analysis_engine/SimpleTestAggregateWithLongDelay.xml"/>
      </topDescriptor>
      <analysisEngine>
        <delegates>
        <!--
          <analysisEngine key="TestMultiplier">
	        <casMultiplier poolSize="5"/> 
          </analysisEngine>
        -->
          <remoteAnalysisEngine key="NoOpA">
	                  <inputQueue endpoint="NoOpAnnotatorAQueue" brokerURL="${DefaultBrokerURL}"/> 
	                  <serializer method="xmi"/>
                      <asyncAggregateErrorConfiguration>
                      </asyncAggregateErrorConfiguration>
          </remoteAnalysisEngine>

          <remoteAnalysisEngine key="NoOpB">
	                  <inputQueue endpoint="NoOpAnnotatorBQueue" brokerURL="${DefaultBrokerURL}"/> 
	                  <serializer method="xmi"/>
                      <asyncAggregateErrorConfiguration>
                      </asyncAggregateErrorConfiguration>
          </remoteAnalysisEngine>

			
          <remoteAnalysisEngine key="NoOpC">
	                  <inputQueue endpoint="NoOpAnnotatorCQueue" brokerURL="${DefaultBrokerURL}"/> 
	                  <serializer method="xmi"/>
                      <asyncAggregateErrorConfiguration>
                      </asyncAggregateErrorConfiguration>
          </remoteAnalysisEngine>
			
        </delegates>
      </analysisEngine>
    </service>
  </deployment>
  
</analysisEngineDeploymentDescription>