Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.9.2
-
Moderate
Description
Parameter Binding Annotations (e.g., @Property, @Header, @Body) could be used to annotate an interface being proxied by Camel Proxy.
http://camel.apache.org/parameter-binding-annotations.html used for http://camel.apache.org/using-camelproxy.html
Currently these are used to identify which parameters Camel should provide when invoking a method of a bean. With the proposed functionality they could also be used to identify which parameter in the bean invocation map to body, and which parameters should be used to modify properties/headers. Possibly bypassing the creation of BeanInvocation object altogether, if @Body is specified.
Example:
public interface MyListener {
void sendBodyWithHeader(@Body String body, @Header("foo") String headerFoo);
}
And when a Camel Proxy is created, invoking it will result in exchange having the String body as the OUT message with the header "foo" set to String headerFoo.