Uploaded image for project: 'Spring Integration'
  1. Spring Integration
  2. INT-4476

MessageHeaders.ID could be automatically mapped to AmqpHeaders.MESSAGE_ID

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.1 M1
    • Component/s: AMQP Support
    • Labels:

      Description

      Currently AbstractHeaderMapper
      declares MessageHeaders.ID and MessageHeaders.TIMESTAMP as transient fields. As a consequence, when a message gets sent through an AMQP outbound adapter, the value of these two fields gets discarded.

      Altought IDs could be fixed by turning on implicit ID generation on the descendants of AbstractMessageConverter (setting createMessageIds=true), that comes with a side effect which is difficult to debug.

      The ID of the sent and received messages will defer and it takes some time to debug the call hierarchy from AmqpOutboundEndpoint.sendAndReceive() to AbstractHeaderMapper.getTransientHeaderNames() to understand why.

      That said, I'd propose to map ID and TIMESTAMP fields automatically and add the option of defining them as transient fields.

        Attachments

          Activity

            People

            Assignee:
            grussell Gary Russell
            Reporter:
            lcsontos László Csontos
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: