Camel
  1. Camel
  2. CAMEL-4565

Allow to send messages using a user supplied pojo interface

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • 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)

        Activity

        Christian Schneider created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Christian Schneider
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development