In JBI, a Consumes must specify the interface, but doesn't have to specify the service or the endpoint name.
The CDK itself enables to specify operation and MEP.
In the Camel SE, one consumes corresponds to a Camel endpoint.
In case a Consumes does not specify one of the aforementioned elements, it could be useful for a route implementor to have parameters to force these.
In order to stay on the safe side, we shouldn't accept overriding already specified elements and errors should be thrown during the deployment of the SU.
We should thus add the following parameters:
- "serviceName" to specify the service name (with a QName)
- "endpointName" to specify the endpoint name (with a String)
- "operation" to specify the operation (with a QName)
- "exchangePattern" to specify the MEP (with Camel ExchangePattern, since this parameter already exists within Camel)
QName should be expressed in String using the format accepted by QName.valueOf().
ExchangePattern should be expressed in String using the format accepted by ExchangePattern.valueOf().