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

Allow to send messages using a user supplied pojo interface

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.16.0
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      The basic requirement is that we want to send a user defined object to a camel endpoint. The user code for sending the object should not contain any camel code.

      So imagine a simple DTO like Person with properties name and age. I would like to use an interface like

      interface PersonSender {
      void send(Person person);
      }

      So in the use code I code get an implementation injected that I simply could call with
      sender.send(person);

      So this is quite similar to our Pojo Messaging @Produce but I donĀ“t want to send a BeanInvocation. Instead I would like to just have the Person object in the body. Ideally this should also support request / response if there is a return type.

      Additionally it should be configurable if it should send aynschronously or synchronously.

      Optionally we may also support a handler or Future for the response.

      To get the interface implementation we should support up to three variants.
      1) Create the dynamic proxy programmatically
      2) Define the proxy thiough a spring bean
      3) Create and inject the proxy using the @Produce annotation (we will need a flag to switch behaviour or use a second annotation)

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              chris@die-schneider.net Christian Schneider
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: