<?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.
    ***************************************************************
   -->
<!-- test concurrent reply consumer -->
<analysisEngineDeploymentDescription
  xmlns="http://uima.apache.org/resourceSpecifier">
  <name>Meeting Detector TAE</name>
  <deployment protocol="jms" provider="activemq">
    <casPool numberOfCASes="5"/>
    
      <service>
        <inputQueue endpoint="RoomNumberAnnotatorQueue"
          brokerURL="tcp://localhost:61616"/>
        <topDescriptor>
          <import
            location="../descriptors/tutorial/ex4/MeetingDetectorTAE.xml"/>
        </topDescriptor>
        <analysisEngine async="true">
        <delegates>
          <remoteAnalysisEngine key="DateTime" remoteReplyQueueScaleout="31">
            <serializer method="binary"/>
            <inputQueue endpoint="iq1" brokerURL="tcp://some.remote:12345"/>
          </remoteAnalysisEngine>
        </delegates>
          </analysisEngine>
      </service>

  </deployment>
</analysisEngineDeploymentDescription>