Uploaded image for project: 'Spring XD'
  1. Spring XD
  2. XD-3144

Expose Retryable Exceptions in the RabbitMessageBus Retry Configuration

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Story
    • Status: To Do
    • Minor
    • Resolution: Unresolved
    • 1.2 RC1
    • Waiting for Triage
    • Configuration
    • None
    • 5
    • 9223372036854775807

    Description

      As a developer, I would like to be able to configure which exceptions thrown by a module should be retryable within the RabbitMessageBus.

      As usual, these should be configurable at the bus and/or stream deployment property level.

      Also consider disabling retry for kryo deserialization problems.


      We are running Spring XD with RabbitMQ transport and we'd like to have a way to stop retries in certain situations. In Spring XD 1.2.0.RC1 docs, in chapter about RabbitMQ transport, in "A Note About Retry" section, it's written:

      Message deliveries failing with a MessageConversionException (perhaps when using a custom converterClassName) are never retried; the assumption being that if a message could not be converted on the first attempt, subsequent attempts will also fail.

      Following is unclear:

      1. Are we speaking about org.springframework.messaging.converter.MessageConversionException or org.springframework.amqp.support.converter.MessageConversionException? Based on XD-1597 and AMQP-390 it's the latter.
      2. Only org.springframework.messaging.converter.MessageConversionException is available for custom module developers. Attempting to throw org.springframework.amqp.support.converter.MessageConversionException which is provided by $XD_HOME/lib/messagebus/rabbit/spring-amqp-1.4.5.RELEASE.jar results in java.lang.ClassNotFoundException even after Spring XD is configured to use rabbit transport.
      3. Throwing org.springframework.messaging.converter.MessageConversionException from custom processor module written with Spring Integration's transformer or service-activator doesn't stop retries.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kdowbecki Karol Dowbecki
            Archiver:
            tmarshall Trevor Marshall

            Dates

              Created:
              Updated:
              Archived: