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

   <!-- Factory for specific external queue broker:  -->
   <!--                ${someVarName}                -->
   <bean id="qBroker_someVarName" class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="${someVarName}"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--             ${someInnerVarName}              -->
   <bean id="qBroker_someInnerVarName"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="${someInnerVarName}"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--                ${someVarName}                -->
   <bean id="qBroker_someVarName-reply"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="${someVarName}"/>
      <property name="prefetchPolicy" ref="prefetchPolicy-reply"/>
   </bean>

   <!-- Factory for specific external queue broker:  -->
   <!--             ${someInnerVarName}              -->
   <bean id="qBroker_someInnerVarName-reply"
         class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="${someInnerVarName}"/>
      <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="MeetingDetectorTaeQueue"/>
   </bean>
 
   <!--====================================================-->
   <!-- Second Input Q needed for top-level CAS Multiplers -->
   <!-- Used to have the client signal completion          -->
   <!-- of the processing of a CAS                         -->
   <!-- generated by the Cas Multiplier                    -->
   <!--====================================================-->
   <bean id="top_level_input_queue_service_1__CasSync"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="MeetingDetectorTaeQueue__CasSync"/>
   </bean>
   <!--============================================-->
   <!-- Async Aggregate: MeetingDetectorTaeQueue_1 -->
   <!--============================================-->
   <bean id="asAggr_ctlr_MeetingDetectorTaeQueue_1"
         class="org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0">
         <null/>
      </constructor-arg>
      <constructor-arg index="1" value="MeetingDetectorTaeQueue"/>
      <constructor-arg index="2"
                       value="file:/C:/a/Eclipse/apache/uima-as/src/test/resources/descriptors/cas_multiplier/SegmenterAndTokenizerAE.xml"/>
      <constructor-arg index="3" ref="casManager"/>
      <constructor-arg index="4" ref="inProcessCache"/>
      <constructor-arg index="5" ref="delegate_map_MeetingDetectorTaeQueue_1"/>
      <property name="outputChannel" ref="outChnl_MeetingDetectorTaeQueue_1"/>
      <property name="serviceEndpointName" value="top_level_input_queue_service_1"/>
      <property name="controllerBeanName" value="asAggr_ctlr_MeetingDetectorTaeQueue_1"/>
      <property name="errorHandlerChain" ref="err_hdlr_chn_MeetingDetectorTaeQueue_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_MeetingDetectorTaeQueue_1 -->
   <!--========================================================-->
   
   <bean id="aggregate_input_metaMsgHandler_MeetingDetectorTaeQueue_1"
         class="org.apache.uima.aae.handler.input.MetadataRequestHandler_impl">
      <constructor-arg index="0" value="MetadataRequestHandler"/>
      <property name="controller" ref="asAggr_ctlr_MeetingDetectorTaeQueue_1"/>
      <property name="delegate"
                ref="aggregate_input_processRequestHandler_MeetingDetectorTaeQueue_1"/>
   </bean>

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

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

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

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

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

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

     <!--     Broker URI     -->
     <property name="serverURI" value="${someInnerVarName}"/>

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

     <!-- Queue name used for replies, on the remote broker  -->
     <property name="replyToEndpoint"
                value="rmtRtrnQ_MeetingDetectorTaeQueue_1_Segmenter_9.2.35.4219c9c349:120677ac3a0:-8000"/>
      <property name="shadowCasPoolSize" value="7"/>
      <property name="initialFsHeapSize" value="999"/>
      <property name="processParentLast" value="false"/>
      <property name="disableJCasCache" value="false"/>

     <!--      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>

   <!-- ==================================== -->
   <!--              Tokenizer               -->
   <!--        ** Delegate Endpoint **       -->
   <!-- ==================================== -->
   <bean id="endpt_Tokenizer_1.2" 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_Tokenizer_1.2"/>

     <!--      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_MeetingDetectorTaeQueue_1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler"
                ref="aggregate_input_metaMsgHandler_MeetingDetectorTaeQueue_1"/>
      <property name="endpointName" value="top_level_input_queue_service_1"/>
      <property name="controller" ref="asAggr_ctlr_MeetingDetectorTaeQueue_1"/>
      <property name="listenerContainer"
                ref="asAggr_input_msgLsnrCntnr_MeetingDetectorTaeQueue_1"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!-- JMS msg listener container for input queue for:  -->
   <!--         top_level_input_queue_service_1          -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="asAggr_input_msgLsnrCntnr_MeetingDetectorTaeQueue_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_MeetingDetectorTaeQueue_1"/>
      <property name="connectionFactory" ref="qBroker_someVarName"/>
      <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_MeetingDetectorTaeQueue_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_MeetingDetectorTaeQueue_1"/>
      <property name="connectionFactory" ref="qBroker_someVarName"/>
      <property name="messageSelector" value="Command=2001"/>
   </bean>

   <!-- return queue for http or tcp remote service  -->
   <!--               on remote broker               -->
   <bean id="rmtRtrnQ_MeetingDetectorTaeQueue_1_Segmenter"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0"
                       value="rmtRtrnQ_MeetingDetectorTaeQueue_1_Segmenter_9.2.35.4219c9c349:120677ac3a0:-8000"/>
   </bean>

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

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

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

     <!--    return Queue    -->
     <property name="destinationResolver"
                ref="destinationResolver_MeetingDetectorTaeQueue_1_Segmenter"/>
      <property name="destinationName" value=""/>
      <property name="targetEndpoint" ref="endpt_Segmenter_1.1"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener"
                ref="asAggr_return_q_listenerID_MeetingDetectorTaeQueue_1_Segmenter"/>
      <property name="connectionFactory" ref="qBroker_someInnerVarName-reply"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!--      Destination Resolver for Segmenter      -->
   <!-- rmtRtrnQ_MeetingDetectorTaeQueue_1_Segmenter -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="destinationResolver_MeetingDetectorTaeQueue_1_Segmenter"
         class="org.apache.uima.adapter.jms.activemq.TempDestinationResolver"
         singleton="false">
      <property name="connectionFactory" ref="qBroker_someInnerVarName-reply"/>
   </bean>

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

   <!-- map for delegate keys  -->
   <bean id="delegate_map_MeetingDetectorTaeQueue_1" class="java.util.HashMap"
         singleton="true">
      <constructor-arg>
         <map>
            <entry key="Segmenter">
               <ref bean="endpt_Segmenter_1.1"/>
            </entry>
            <entry key="Tokenizer">
               <ref bean="endpt_Tokenizer_1.2"/>
            </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="Segmenter">
               <ref bean="errorConfig__Rtry_0_Action_terminate"/>
            </entry>
            <entry key="Tokenizer">
               <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="Segmenter">
               <ref bean="errorConfig__Rtry_0_Continue_false_TCnt_0_TWndw_0_Action_"/>
            </entry>
            <entry key="Tokenizer">
               <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="Segmenter">
               <ref bean="errorConfig__Action_"/>
            </entry>
            <entry key="Tokenizer">
               <ref bean="errorConfig__Action_"/>
            </entry>
            <entry key="">
               <ref bean="errorConfig__Action_"/>
            </entry>
         </map>
      </constructor-arg>
   </bean>

 
   <!--=======================-->
   <!--  Error Handler Chain  -->
   <!--=======================-->
   <bean id="err_hdlr_chn_MeetingDetectorTaeQueue_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: Tokenizer -->
   <!--========================================-->
   <bean id="primitive_ctlr_Tokenizer_1.2"
         class="org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0" ref="asAggr_ctlr_MeetingDetectorTaeQueue_1"/>

     <!--      Key name      -->
     <constructor-arg index="1" value="Tokenizer"/>
      <constructor-arg index="2"
                       value="file:/C:/a/Eclipse/apache/uima-as/src/test/resources/descriptors/cas_multiplier/../analysis_engine/SimpleTokenAndSentenceAnnotator.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>