Uploaded image for project: 'Spring AMQP'
  1. Spring AMQP
  2. AMQP-190

CachingConnectionFactory leaks channels when synchronized with a TransactionManager

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: 1.0.0 GA
    • Fix Version/s: 1.1.2, 1.2.0.M1
    • Component/s: RabbitMQ
    • Labels:

      Description

      It seems that when I use RabbitTemplate, channelTransacted=true, to convertAndSend() a message to an exchange within the context of a synchronized TransactionManager (e.g. an active transaction on the current thread), the channel is never closed, hence new publishes will always get their "own", shiny, new channel (that is never closed or released to the channel pool) until Rabbit can't handle any more channels.

      See Forum Reference for more info.

      The problem is not observed on the consumer side (e.g. MessageListenerContainer). Its observed on the publishing side, (e.g. RabbitTemplate). It is observed both if I use the RabbitTemplate, natively... or if I use spring-integration and the <int-amqp:outbound-channel-adapter...> tag.

      BTW, the observed "channel leak" goes away when I choose channelTransacted=false.

      I will look to supply a simple recreate, if I can scrounge the time.

        Attachments

          Activity

            People

            • Assignee:
              grussell Gary Russell
              Reporter:
              rparra Rene Parra
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: