Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-6543

provide a way to expose common header names, types and payload types for endpoints

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Delivered
    • None
    • 3.x
    • None
    • None
    • Unknown

    Description

      Given a configuration of an Endpoint, it'd be nice if there was a way for endpoints to expose what a consumer will receive up front (at design time, before it actually runs), in terms of headers (their name & types) and the payload type.

      Most of this is documented on the wiki in places already - its useful stuff to konw; but there's no way to introspect an endpoint and know this (so we can, for example, visualise the things exposed by an endpoint - or provide better validation of what can connect to what, what will work or fail; what type conversions could be done after consuming from an endpoint, what headers are available by default in expression languages and so forth.

      I guess other steps in a camel flow can change this data too (e.g. adding/removing headers, changing the payload value).

      But as a start - and endpoint consumer specific plugin would be great.

      e.g. maybe we can add a new method to ComponentConfiguration which allows endpoints to return the header/payload metadata (if its known)
      https://cwiki.apache.org/confluence/display/CAMEL/ComponentConfiguration

      We could maybe add some annotations, metadata or code which could then be introspected by the generated endpoint documentation:
      https://cwiki.apache.org/confluence/display/CAMEL/Endpoint+Annotations

      afterall we often define constants for the header values already for a component; so it would be easy to add an annotation and have them discovered; its mostly just being able to find all the headers exposed by default (and which are optional I guess) on messages from an endpoint.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jstrachan James Strachan
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: