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

Expose Retryable Exceptions in the RabbitMessageBus Retry Configuration

    XMLWordPrintable

    Details

    • Type: Story
    • Status: To Do
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.2 RC1
    • Fix Version/s: Waiting for Triage
    • Component/s: Configuration
    • Labels:
      None
    • Story Points:
      5
    • Rank (Obsolete):
      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

            Assignee:
            Unassigned Unassigned
            Reporter:
            kdowbecki Karol Dowbecki
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: