[
https://issues.apache.org/jira/browse/CXF-623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully updated CXF-623:
---------------------------
Attachment: patch-cxf-623.r534554.patch
Implementation of simple wildcarding for bean identifiers, config for multiplex
address changes like so:
from:
<bean
name="{http://cxf.apache.org/factory_pattern}NumberPort.http-destination"
abstract="true">
<property name="multiplexWithAddress" value="true"/>
</bean>
to:
<bean name="*" abstract="true" class="JettyHTTPDestination">
<property name="multiplexWithAddress" value="true"/>
</bean>
Detail:
wildcards must start with * and can contain a only one *. The matching is based
on simple endswith of the bean id.
The class is the SimpleName of the impl class, this makes writing
easier/shorter with the possible downside of needing a more explicit wildcard
in the event of duplicate class names (becasue of the missing package). The
class is a must, otherwise a single wildcard would be checked for every
configured bean which would slow down every configured object creation.
I could make the className optional but I think it helps to localise the
wildcarding. The downside is that it exposes implementation detail in the
config which is bad imho.
Limitation:
only a single wildcard is allowed per class, the first wins, the rest are
logged as ignored with a warning. Should this be an error.
I have not gone down the road of idenitfying ids of the form {ns}port and
allowing {*}port.*. This can be added later if needed.
> spring bean configuration should support simple wildcards
> ---------------------------------------------------------
>
> Key: CXF-623
> URL: https://issues.apache.org/jira/browse/CXF-623
> Project: CXF
> Issue Type: Improvement
> Components: Configuration
> Affects Versions: 2.0-RC
> Reporter: Gary Tully
> Attachments: patch-cxf-623.r534554.patch
>
>
> to apply configuration to a http destination I need to provide the following:
> <bean name="{http://www.test.com}MyPort.http-destination" abstract="true">
> <property name="multiplexWithAddress" value="true"/>
> </bean>
> which matches a single port by name.
> I would like to be able to provide
> <bean name="*.http-destination" abstract="true">
> <property name="multiplexWithAddress" value="true"/>
> </bean>
> to indicate to apply the config to all http-destinations. To make this work
> in practice a class attribute is required, otherwise any wildcard would be
> matched against all beanNames. The package is probably not required in the
> className attribute.
> <bean name="*.http-destination" abstract="true" class="HttpDestination">
> <property name="multiplexWithAddress" value="true"/>
> </bean>
> To get Spring to merge wildcard and beanName specific config may be a
> chalenge but it would be great. Possibly it is a case of configuring once
> with the wildcard match and once with the specific name.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.