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

Add 'session-transacted' to JMS Outbound Adapter

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 4.0 M4
    • Component/s: JMS Support
    • Labels:

      Description

      Currently, when using

      jms:message-driven-channel-adapter -> ... -> jms:outbound-channel-adapter

      You have to inject a JmsTemplate with sessionTransacted in the outbound adapter, to participate in the container's transaction.

      As a convenience, we should add session-transacted to the adapter.

      Also, the inbound-channel-adapter incorrectly allows 'transacted' for the acknowledge-mode. This does not work; for a JmsTemplate you have to set sessionTransacted to true.

      The parser sets the acknowledgeMode to an invalid value (0). YMMV, but with ActiveMQ it means an adapter so configured closes the session with no ack and the message is continually redelivered.

      Add session-transacted to the inbound adapter too and disallow transacted.

        Attachments

          Activity

            People

            Assignee:
            grussell Gary Russell
            Reporter:
            grussell Gary Russell
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: