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

MessageHeaders.ID could be automatically mapped to AmqpHeaders.MESSAGE_ID

    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: