<?xml version="1.0" encoding="UTF-8"?>
<!--==================================================================================-->
 <!-- Generated from                                                                               -->
 <!-- file:/C:/a/Eclipse/apache/uima-as/src/test/resources/deploy/aggrRmtConcurrentReply.xml -->
 <!-- 2 April, 2009, 11:37:11 A.M.                                                                 -->
 <!--==================================================================================-->
 <!DOCTYPE beans
  PUBLIC "-//Spring//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

   <!-- Factory for specific external queue broker:  -->
   <!--            tcp://localhost:61616             -->
   <bean id="qBroker_tcp_c__ss_localhost_c_61616"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://localhost:61616"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--           tcp://some.remote:12345            -->
   <bean id="qBroker_tcp_c__ss_some.remote_c_12345"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://some.remote:12345"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--            tcp://localhost:61616             -->
   <bean id="qBroker_tcp_c__ss_localhost_c_61616-reply"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://localhost:61616"/>
      <property name="prefetchPolicy" ref="prefetchPolicy-reply"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--           tcp://some.remote:12345            -->
   <bean id="qBroker_tcp_c__ss_some.remote_c_12345-reply"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://some.remote:12345"/>
      <property name="prefetchPolicy" ref="prefetchPolicy-reply"/>
   </bean>

   <!-- Creates an instance of the ResourceManager -->
   <bean id="resourceManager" class="org.apache.uima.aae.UimaClassFactory"
         factory-method="produceResourceManager"
         singleton="true"/>

   <!-- Creates an instance of the CasManager  -->
   <bean id="casManager" class="org.apache.uima.aae.AsynchAECasManager_impl"
         singleton="true">
      <constructor-arg index="0" ref="resourceManager"/>

     <!-- Defines how many CASes will be in the CAS pool -->
     <property name="casPoolSize" value="5"/>
     <property name="disableJCasCache" value="false"/>

     <!-- Initial heap size for CASes  -->
     <property name="initialFsHeapSize" value="2000000"/>
   </bean>
   <bean id="placeholderSubstitution"
         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
   </bean>

   <!-- Creates a Shared Cache -->
   <bean id="inProcessCache" class="org.apache.uima.aae.InProcessCache"/>

   <!-- Create prefetch policy -->
   <bean id="prefetchPolicy" class="org.apache.activemq.ActiveMQPrefetchPolicy">
      <property name="queuePrefetch" value="0"/>
   </bean>
   <bean id="prefetchPolicy-reply" class="org.apache.activemq.ActiveMQPrefetchPolicy">
      <property name="queuePrefetch" value="1"/>
   </bean>
 
   <!--=================================-->
   <!--    E r r o r   D e t a i l s    -->
   <!--=================================-->
   <bean id="errorConfig__TCnt_0_TWndw_0_Action_"
         class="org.apache.uima.aae.error.Threshold"
         singleton="true">
      <property name="threshold" value="0"/>
      <property name="window" value="0"/>
      <property name="action" value=""/>
   </bean>

   <bean id="errorConfig__Action_" class="org.apache.uima.aae.error.Threshold"
         singleton="true">
      <property name="action" value=""/>
   </bean>

   <bean id="errorConfig__Rtry_0_Action_terminate"
         class="org.apache.uima.aae.error.Threshold"
         singleton="true">
      <property name="maxRetries" value="0"/>
      <property name="action" value="terminate"/>
   </bean>

   <bean id="errorConfig__Rtry_0_Continue_false_TCnt_0_TWndw_0_Action_"
         class="org.apache.uima.aae.error.Threshold"
         singleton="true">
      <property name="maxRetries" value="0"/>
      <property name="continueOnRetryFailure" value="false"/>
      <property name="threshold" value="0"/>
      <property name="window" value="0"/>
      <property name="action" value=""/>
   </bean>

 
   <!--input queue for service-->
   <bean id="top_level_input_queue_service_1"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="RoomNumberAnnotatorQueue"/>
   </bean>
   <!--=============================================-->
   <!-- Async Aggregate: RoomNumberAnnotatorQueue_1 -->
   <!--=============================================-->
   <bean id="asAggr_ctlr_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0">
         <null/>
      </constructor-arg>
      <constructor-arg index="1" value="RoomNumberAnnotatorQueue"/>
      <constructor-arg index="2"
                       value="file:/C:/a/Eclipse/apache/uima-as/src/test/resources/descriptors/tutorial/ex4/MeetingDetectorTAE.xml"/>
      <constructor-arg index="3" ref="casManager"/>
      <constructor-arg index="4" ref="inProcessCache"/>
      <constructor-arg index="5" ref="delegate_map_RoomNumberAnnotatorQueue_1"/>
      <property name="outputChannel" ref="outChnl_RoomNumberAnnotatorQueue_1"/>
      <property name="serviceEndpointName" value="top_level_input_queue_service_1"/>
      <property name="controllerBeanName" value="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="errorHandlerChain" ref="err_hdlr_chn_RoomNumberAnnotatorQueue_1"/>
      <property name="flowControllerDescriptor"
                value="*importByName:org.apache.uima.flow.FixedFlowController"/>
   </bean>
 
   <!--=========================================================-->
   <!--   M E S S A G E    H A N D L E R: aggregate_input       -->
   <!--  for controller: asAggr_ctlr_RoomNumberAnnotatorQueue_1 -->
   <!--=========================================================-->
   
   <bean id="aggregate_input_metaMsgHandler_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.handler.input.MetadataRequestHandler_impl">
      <constructor-arg index="0" value="MetadataRequestHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="delegate"
                ref="aggregate_input_processRequestHandler_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <bean id="aggregate_input_processRequestHandler_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.handler.input.ProcessRequestHandler_impl">
      <constructor-arg index="0" value="ProcessRequestHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
   </bean>
 
   <!--=========================================================-->
   <!--   M E S S A G E    H A N D L E R: aggregate_return      -->
   <!--  for controller: asAggr_ctlr_RoomNumberAnnotatorQueue_1 -->
   <!--=========================================================-->
   
    

<bean id="aggregate_return_processResponseHandler_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.handler.input.ProcessResponseHandler">
      <constructor-arg index="0" value="ProcessResponseHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="delegate"
                ref="aggregate_return_response_metaMsgHandler_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <bean id="aggregate_return_response_metaMsgHandler_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.handler.input.MetadataResponseHandler_impl">
      <constructor-arg index="0" value="MetadataResponseHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="delegate"
                ref="aggregate_return_processRequestHandler_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <bean id="aggregate_return_processRequestHandler_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.handler.input.ProcessRequestHandler_impl">
      <constructor-arg index="0" value="ProcessRequestHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <!-- Create the endpoints + output channels, one per delegate -->
   

   <!-- ==================================== -->
   <!--              RoomNumber              -->
   <!--        ** Delegate Endpoint **       -->
   <!-- ==================================== -->
   <bean id="endpt_RoomNumber_1.1" class="org.apache.uima.aae.controller.Endpoint_impl">

     <!--     Broker URI     -->
     <property name="serverURI" value="vm://localhost"/>

     <!-- Delegate key name or remote queue name -->
     <property name="endpoint" value="inQ_RoomNumber_1.1"/>

     <!--      Timeouts      -->
     <property name="metadataRequestTimeout" value="60000"/>
      <property name="processRequestTimeout" value="0"/>
      <property name="collectionProcessCompleteTimeout" value="0"/>
      <property name="concurrentRequestConsumers" value="1"/>
      <property name="concurrentReplyConsumers" value="1"/>
   </bean>

   <!-- ==================================== -->
   <!--               DateTime               -->
   <!--        ** Delegate Endpoint **       -->
   <!-- ==================================== -->
   <bean id="endpt_DateTime_1.2" class="org.apache.uima.aae.controller.Endpoint_impl">

     <!--     Broker URI     -->
     <property name="serverURI" value="tcp://some.remote:12345"/>

     <!-- Delegate key name or remote queue name -->
     <property name="endpoint" value="iq1"/>

     <!-- Queue name used for replies, on the remote broker  -->
     <property name="replyToEndpoint"
                value="rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime_9.2.35.4259f0db9f:120677a067a:-8000"/>

     <!--      Timeouts      -->
     <property name="metadataRequestTimeout" value="60000"/>
      <property name="processRequestTimeout" value="0"/>
      <property name="collectionProcessCompleteTimeout" value="0"/>
      <property name="serializer" value="xmi"/>
      <property name="tempReplyDestination" value="true"/>
   </bean>

   <!-- ==================================== -->
   <!--               Meeting                -->
   <!--        ** Delegate Endpoint **       -->
   <!-- ==================================== -->
   <bean id="endpt_Meeting_1.3" class="org.apache.uima.aae.controller.Endpoint_impl">

     <!--     Broker URI     -->
     <property name="serverURI" value="vm://localhost"/>

     <!-- Delegate key name or remote queue name -->
     <property name="endpoint" value="inQ_Meeting_1.3"/>

     <!--      Timeouts      -->
     <property name="metadataRequestTimeout" value="60000"/>
      <property name="processRequestTimeout" value="0"/>
      <property name="collectionProcessCompleteTimeout" value="0"/>
      <property name="concurrentRequestConsumers" value="1"/>
      <property name="concurrentReplyConsumers" value="1"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!-- JMS msg listener for input queue for:  -->
   <!--    top_level_input_queue_service_1     -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="asAggr_input_q_listenerID_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler"
                ref="aggregate_input_metaMsgHandler_RoomNumberAnnotatorQueue_1"/>
      <property name="endpointName" value="top_level_input_queue_service_1"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="listenerContainer"
                ref="asAggr_input_msgLsnrCntnr_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!-- JMS msg listener container for input queue for:  -->
   <!--         top_level_input_queue_service_1          -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="asAggr_input_msgLsnrCntnr_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     <!-- Define number of JMS Consumers -->
     <property name="concurrentConsumers" value="1"/>

     <!--    input Queue     -->
     <property name="destination" ref="top_level_input_queue_service_1"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener"
                ref="asAggr_input_q_listenerID_RoomNumberAnnotatorQueue_1"/>
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_localhost_c_61616"/>
      <property name="messageSelector" value="Command=2000 OR Command=2002"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!-- GetMeta JMS msg listener container for input queue for:  -->
   <!--             top_level_input_queue_service_1              -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="asAggr_input_msgLsnrCntnr_RoomNumberAnnotatorQueue_1_getMeta"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     <!-- Define number of JMS Consumers -->
     <property name="concurrentConsumers" value="1"/>

     <!--    input Queue     -->
     <property name="destination" ref="top_level_input_queue_service_1"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener"
                ref="asAggr_input_q_listenerID_RoomNumberAnnotatorQueue_1"/>
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_localhost_c_61616"/>
      <property name="messageSelector" value="Command=2001"/>
   </bean>

   <!-- return queue for http or tcp remote service  -->
   <!--               on remote broker               -->
   <bean id="rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0"
                       value="rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime_9.2.35.4259f0db9f:120677a067a:-8000"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!--    JMS msg listener for return queue for:    -->
   <!-- rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="asAggr_return_q_listenerID_RoomNumberAnnotatorQueue_1_DateTime"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler"
                ref="aggregate_return_processResponseHandler_RoomNumberAnnotatorQueue_1"/>
      <property name="endpointName" value=""/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!-- JMS msg listener container for return queue for: -->
   <!--   rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime   -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="asAggr_return_msgLsnrCntnr_RoomNumberAnnotatorQueue_1_DateTime"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     <!-- Define number of JMS Consumers -->
     <property name="concurrentConsumers" value="31"/>

     <!--    return Queue    -->
     <property name="destinationResolver"
                ref="destinationResolver_RoomNumberAnnotatorQueue_1_DateTime"/>
      <property name="destinationName" value=""/>
      <property name="targetEndpoint" ref="endpt_DateTime_1.2"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener"
                ref="asAggr_return_q_listenerID_RoomNumberAnnotatorQueue_1_DateTime"/>
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_some.remote_c_12345-reply"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!--      Destination Resolver for DateTime       -->
   <!-- rmtRtrnQ_RoomNumberAnnotatorQueue_1_DateTime -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="destinationResolver_RoomNumberAnnotatorQueue_1_DateTime"
         class="org.apache.uima.adapter.jms.activemq.TempDestinationResolver"
         singleton="false">
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_some.remote_c_12345-reply"/>
   </bean>

   <!-- ================================== -->
   <!-- OutputChannel - for flows out of   -->
   <!-- this component, both to delegates  -->
   <!--  (if aggr) and back up to sender   -->
   <!-- ================================== -->
   <bean id="outChnl_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.adapter.jms.activemq.JmsOutputChannel"
         init-method="initialize">
      <property name="serviceInputEndpoint" value="RoomNumberAnnotatorQueue"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="controllerInputEndpoint" value="asynAggr_retQ_RoomNumberAnnotatorQueue_1"/>
   </bean>

   <!-- map for delegate keys  -->
   <bean id="delegate_map_RoomNumberAnnotatorQueue_1" class="java.util.HashMap"
         singleton="true">
      <constructor-arg>
         <map>
            <entry key="RoomNumber">
               <ref bean="endpt_RoomNumber_1.1"/>
            </entry>
            <entry key="DateTime">
               <ref bean="endpt_DateTime_1.2"/>
            </entry>
            <entry key="Meeting">
               <ref bean="endpt_Meeting_1.3"/>
            </entry>
         </map>
      </constructor-arg>
   </bean>

 
   <!--========================-->
   <!-- Delegate ErrorHandlers -->
   <!--========================-->
   <bean id="err_hndlr_getMetadataEr_1"
         class="org.apache.uima.aae.error.handler.GetMetaErrorHandler">
      <constructor-arg>
         <map>
            <entry key="RoomNumber">
               <ref bean="errorConfig__Rtry_0_Action_terminate"/>
            </entry>
            <entry key="DateTime">
               <ref bean="errorConfig__Rtry_0_Action_terminate"/>
            </entry>
            <entry key="Meeting">
               <ref bean="errorConfig__Rtry_0_Action_terminate"/>
            </entry>
         </map>
      </constructor-arg>
   </bean>

   <bean id="err_hndlr_processCasEr_1"
         class="org.apache.uima.aae.error.handler.ProcessCasErrorHandler">
      <constructor-arg>
         <map>
            <entry key="RoomNumber">
               <ref bean="errorConfig__Rtry_0_Continue_false_TCnt_0_TWndw_0_Action_"/>
            </entry>
            <entry key="DateTime">
               <ref bean="errorConfig__Rtry_0_Continue_false_TCnt_0_TWndw_0_Action_"/>
            </entry>
            <entry key="Meeting">
               <ref bean="errorConfig__Rtry_0_Continue_false_TCnt_0_TWndw_0_Action_"/>
            </entry>
            <entry key="">
               <ref bean="errorConfig__TCnt_0_TWndw_0_Action_"/>
            </entry>
         </map>
      </constructor-arg>
   </bean>

   <bean id="err_hndlr_collectionProcessCompleteEr_1"
         class="org.apache.uima.aae.error.handler.CpcErrorHandler">
      <constructor-arg>
         <map>
            <entry key="RoomNumber">
               <ref bean="errorConfig__Action_"/>
            </entry>
            <entry key="DateTime">
               <ref bean="errorConfig__Action_"/>
            </entry>
            <entry key="Meeting">
               <ref bean="errorConfig__Action_"/>
            </entry>
            <entry key="">
               <ref bean="errorConfig__Action_"/>
            </entry>
         </map>
      </constructor-arg>
   </bean>

 
   <!--=======================-->
   <!--  Error Handler Chain  -->
   <!--=======================-->
   <bean id="err_hdlr_chn_RoomNumberAnnotatorQueue_1"
         class="org.apache.uima.aae.error.ErrorHandlerChain">
      <constructor-arg>
         <list>
            <ref local="err_hndlr_getMetadataEr_1"/>
            <ref local="err_hndlr_processCasEr_1"/>
            <ref local="err_hndlr_collectionProcessCompleteEr_1"/>
         </list>
      </constructor-arg>
   </bean>
   <!--=========================================-->
   <!-- Primitive or non-Async Aggr: RoomNumber -->
   <!--=========================================-->
   <bean id="primitive_ctlr_RoomNumber_1.1"
         class="org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>

     <!--      Key name      -->
     <constructor-arg index="1" value="RoomNumber"/>
      <constructor-arg index="2"
                       value="file:/C:/a/Eclipse/apache/uima-as/src/test/resources/descriptors/tutorial/ex4/../ex2/RoomNumberAnnotator.xml"/>
      <constructor-arg index="3" ref="casManager"/>
      <constructor-arg index="4" ref="inProcessCache"/>

     <!-- this parameter is ignored  -->
     <constructor-arg index="5" value="10"/>

     <!-- scaleout number of instances -->
     <constructor-arg index="6" value="1"/>
   </bean>
   <!--======================================-->
   <!-- Primitive or non-Async Aggr: Meeting -->
   <!--======================================-->
   <bean id="primitive_ctlr_Meeting_1.3"
         class="org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>

     <!--      Key name      -->
     <constructor-arg index="1" value="Meeting"/>
      <constructor-arg index="2"
                       value="file:/C:/a/Eclipse/apache/uima-as/src/test/resources/descriptors/tutorial/ex4/MeetingAnnotator.xml"/>
      <constructor-arg index="3" ref="casManager"/>
      <constructor-arg index="4" ref="inProcessCache"/>

     <!-- this parameter is ignored  -->
     <constructor-arg index="5" value="10"/>

     <!-- scaleout number of instances -->
     <constructor-arg index="6" value="1"/>
   </bean>
</beans>