You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org> on 2008/09/22 20:50:44 UTC

[jira] Assigned: (UIMA-1140) Embedded broker should be eliminated

     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reassigned UIMA-1140:
-----------------------------------

    Assignee: Marshall Schor  (was: Jerry Cwiklik)

Since we are removing internal broker for messaging, dd2spring needs to be modified to remove unnecessary beans. All colocated uima As services will use internal java queues for messaging. Only the aggregate spring xml will be changed. The following is a list of changes:

1) remove ActiveMQFactory for vm://localhost transport
   <bean id="controllerJmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory"
         depends-on="brokerDeployerService">
      <property name="brokerURL" value="vm://localhost"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean> 

2) remove BrokerDeployer 
   <bean id="brokerDeployerService"
         class="org.apache.uima.adapter.jms.activemq.BrokerDeployer">
      <constructor-arg index="0" value="1048576000"/>
   </bean>

3) remove common reply queue from all of the Aggregate Services
   <bean id="asynAggr_retQ_TopLevelTaeQueue_1"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="asynAggr_retQ_TopLevelTaeQueue_1"/>
   </bean>

4) remove input channel  from the common reply queue (aggregate)
  <bean id="asAggr_return_q_listenerID_TopLevelTaeQueue_1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler" ref="aggregate_return_metaMsgHandler_TopLevelTaeQueue_1"/>
      <property name="endpointName" value="asynAggr_retQ_TopLevelTaeQueue_1"/>
      <property name="controller" ref="asAggr_ctlr_TopLevelTaeQueue_1"/>
   </bean>

5) remove listener from the common reply queue (aggregate)
   <bean id="asAggr_return_msgLsnrCntnr_TopLevelTaeQueue_1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

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

     --    return Queue    --
     <property name="destination" ref="asynAggr_retQ_TopLevelTaeQueue_1"/>

     -- POJO to delegate JMS Messages to --
     <property name="messageListener" ref="asAggr_return_q_listenerID_TopLevelTaeQueue_1"/>
      <property name="connectionFactory" ref="controllerJmsFactory"/>
   </bean>

6) remove all queues for colocated (internal) services
   <bean id="inQ_TestMultiplier_1.1" class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="inQ_TestMultiplier_1.1"/>
   </bean>

7) remove ThreadPool for every Listener associated with a collocated service
   <bean id="pooling_TestMultiplier_1.1"
         class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
      <property name="corePoolSize" value="1"/>
      <property name="maxPoolSize" value="1"/>
      <property name="queueCapacity" value="1"/>
   </bean>

8) remove message handlers linked with InputChannel of every collocated service
    <bean id="primitive_metaMsgHandler_TestMultiplier_1.1"
         class="org.apache.uima.aae.handler.input.MetadataRequestHandler_impl">
      <constructor-arg index="0" value="MetadataRequestHandler"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
      <property name="delegate" ref="primitive_processRequestHandler_TestMultiplier_1.1"/>
   </bean>

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

9) remove all InputChannel beans associated with collocated services
   <bean id="primitive_input_q_listenerID_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler" ref="primitive_metaMsgHandler_TestMultiplier_1.1"/>
      <property name="endpointName" value="inQ_TestMultiplier_1.1"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
      <property name="listenerContainer" ref="primitive_input_msgLsnrCntnr_TestMultiplier_1.1"/>
   </bean>

10) remove all listener beans associated with collocated services
<bean id="primitive_input_msgLsnrCntnr_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     -- Connect to pooling task executor for primitive --
     <property name="taskExecutor" ref="pooling_TestMultiplier_1.1"/>

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

     --    input Queue     -
     <property name="destination" ref="inQ_TestMultiplier_1.1"/>

     -- POJO to delegate JMS Messages to --
     <property name="messageListener" ref="primitive_input_q_listenerID_TestMultiplier_1.1"/>
      <property name="connectionFactory" ref="controllerJmsFactory"/>
      <property name="messageSelector" value="Command=2000 OR Command=2002"/>
   </bean>


11) remove all OutputChannel beans from all colocates services
<bean id="outChnl_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.JmsOutputChannel"
         init-method="initialize">
      <property name="serviceInputEndpoint" value="inQ_TestMultiplier_1.1"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
   </bean>



> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.