@Target(value={PARAMETER,FIELD}) @Retention(value=RUNTIME) @Documented public @interface ConfigOverride
ParameterModel of the same name
and type that exists in the config associated to the
container of the annotated member.
ConfigOverride, the parameter will be injected with the same value of the
bound parameter of the config that's been associated to the execution.
public void request(@Config ConfigType config, @ConfigOverride int maxRetries)
Where the configuration ConfigType declares a parameter as:
@Parameter
@Optional(defaultValue = "10")
@int maxRetries;
Then we can have three different cases:
1) We use the default value of the maxRetries parameter provided by the config.
In this case, the operation request will be injected with 10 as the value for maxRetries
<mule>
<ns:config name="sampleConfig">
<flow>
<ns:request config-ref="sampleConfig">
</flow>
</mule>
2) We provide a value for the maxRetries parameter in the config.
In this case, the operation request will be injected with 2 as the value for maxRetries
<mule>
<ns:config name="sampleConfig" maxRetries=2>
<flow>
<ns:request config-ref="sampleConfig">
</flow>
</mule>
3) We provide a value for the maxRetries parameter in the operation.
In this case, the operation request will be injected with 5 as the value for maxRetries
<mule>
<ns:config name="sampleConfig" maxRetries=2>
<flow>
<ns:request config-ref="sampleConfig" maxRetries=5>
</flow>
</mule>
This annotation can either be applied to an argument of an operation method
or to a field of a class which extends the Source class.
It is not to be used on configurations nor connections.
Copyright © 2017 MuleSoft, Inc.. All rights reserved.