Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
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