[ https://issues.apache.org/jira/browse/CXF-4811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13578058#comment-13578058 ]
Jason Pell commented on CXF-4811: --------------------------------- Related mailing list discussion http://cxf.547215.n5.nabble.com/lt-cxf-http-conduit-gt-with-parameterizable-name-td5722488.html > Allow conduit match pattern to be customized. > --------------------------------------------- > > Key: CXF-4811 > URL: https://issues.apache.org/jira/browse/CXF-4811 > Project: CXF > Issue Type: New Feature > Components: Integration > Affects Versions: 2.4.3 > Reporter: Ivan Latysh > Priority: Critical > > Use-case: > Developed jaxrs client has no knowledge of the server URL until it is > shipped to a customer. > To address the issue, server name and port has been externalized and > handled by a standard {{PropertyPlaceholderConfigurer}}: > {code} > <jaxrs:client id="serviceClient" > address="http://${server.name}:${server.port}/services/*"/> > <context:property-placeholder/> > <bean > class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer"> > <property name="order" value="1"/> > <property name="ignoreUnresolvablePlaceholders" value="false"/> > </bean> > {code} > But currently http conduit can not be configured as match pattern is set the > conduit name, rather than a property. > {code} > <cxf-http:conduit name="http://localhost/services.*" /> > {code} > The best option is to introduce custom URL Matchers, so conduit delegate > actual URL matching to a configurable implementation. > Than a simple solution would be to extend > org.apache.cxf.configuration.spring.ConfigurerImpl and resolve the property > placeholders before compiling the pattern in {{initWildcardDefinitionMap}} > method. But the poor architectural decisions led to > {{PropertyResourceConfigurer}} to be non-reusable. It supports rigid visitor > pattern, and do not even provide a method to resolve a property placeholder > after {{postProcessBeanFactory}} has been called. > So the dirty hack would be to configure pattern in the conduit property, > rather in the name. > {code} > <cxf-http:conduit id="service1Conduit"> > <property name="url" > value="http://${server.name}:${server.port}/services/*"> > </cxf-http:conduit> > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira