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 2009/03/25 17:00:57 UTC

[jira] Updated: (UIMA-1288) Need a Better Approach For Specifying UIMA AS Broker URL in Deployment Descriptor

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

Jerry Cwiklik updated UIMA-1288:
--------------------------------

    Description: 
Each UIMA AS deployment descriptor requires at least one Broker URL for the connection factory. Instead of hard coding the URL, perhaps a placeholder for it should be used. At runtime, the placeholder could be resolved to the actual URL by Spring resolver component. The value could come from either an external file or from an environment. The new approach should accommodate specifying more than one placeholder, since an aggregate may have delegates whose queues are managed by a different broker. The new approach would simplify deployment of UIMA AS services, especially during testing.

A placeholder syntax could be inherited from Spring, where it looks like ${placeholder-name}. 

dd2spring would need to change to handle a placeholder notation in addition to supporting hard coded broker URL that we use now. A new bean must be added to the generated xml. It will be :

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName"  value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
   </bean>
 
This bean is setup to resolve placeholders using system variables, like -Dplaceholder-name=placeholder-value


  was:
Each UIMA AS deployment descriptor requires at least one Broker URL for the connection factory. Instead of hard coding the URL, perhaps a placeholder for it should be used. At runtime, the placeholder could be resolved to the actual URL by Spring resolver component. The value could come from either an external file or from an environment. The new approach should accommodate specifying more than one placeholder, since an aggregate may have delegates whose queues are managed by a different broker. The new approach would simplify deployment of UIMA AS services, especially during testing.

A placeholder syntax could be inherited from Spring, where it looks like {$placeholder-name}. We can agree on special syntax for specifying broker placeholders. Perhaps something like:

{$uima.as.broker1}
{$uima.as.broker2}
....

dd2spring would need to change to accept a placeholder and *not* interpret it. I believe that dd2spring currently makes decisions based on what protocol is specified in the Broker URL ( tcp vs vm). There are other protocols that we may need to support other than tcp and vm. Most notably, the failover protocol that allows for specifying a redundant broker. We cant currently use this protocol for deploying UIMA AS services. An example of this protocol for activeMQ:

failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false




> Need a Better Approach For Specifying UIMA AS Broker URL in Deployment Descriptor
> ---------------------------------------------------------------------------------
>
>                 Key: UIMA-1288
>                 URL: https://issues.apache.org/jira/browse/UIMA-1288
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>
> Each UIMA AS deployment descriptor requires at least one Broker URL for the connection factory. Instead of hard coding the URL, perhaps a placeholder for it should be used. At runtime, the placeholder could be resolved to the actual URL by Spring resolver component. The value could come from either an external file or from an environment. The new approach should accommodate specifying more than one placeholder, since an aggregate may have delegates whose queues are managed by a different broker. The new approach would simplify deployment of UIMA AS services, especially during testing.
> A placeholder syntax could be inherited from Spring, where it looks like ${placeholder-name}. 
> dd2spring would need to change to handle a placeholder notation in addition to supporting hard coded broker URL that we use now. A new bean must be added to the generated xml. It will be :
> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>     <property name="systemPropertiesModeName"  value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
>    </bean>
>  
> This bean is setup to resolve placeholders using system variables, like -Dplaceholder-name=placeholder-value

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