org.springframework.amqp.rabbit.config
Class StatefulRetryOperationsInterceptorFactoryBean
java.lang.Object
org.springframework.amqp.rabbit.config.AbstractRetryOperationsInterceptorFactoryBean
org.springframework.amqp.rabbit.config.StatefulRetryOperationsInterceptorFactoryBean
- All Implemented Interfaces:
- FactoryBean<org.aopalliance.aop.Advice>
public class StatefulRetryOperationsInterceptorFactoryBean
- extends AbstractRetryOperationsInterceptorFactoryBean
Convenient factory bean for creating a stateful retry interceptor for use in a message listener container, giving you
a large amount of control over the behaviour of a container when a listener fails. To control the number of retry
attempt or the backoff in between attempts, supply a customized RetryTemplate
. Stateful retry is appropriate
if your listener is using a transactional resource that needs to be rollback on an exception (e.g. a stateful
connection to a back end server). JPA is the canonical example. The semantics of stateful retry mean that a listener
exception is propagated to the container, so that it can force a rollback. When the message is redelivered it has to
be recognised (hence the MessageKeyGenerator
strategy), and when the retry attempts are exhausted it will be
processed using a MessageRecoverer
if one is provided, in a new transaction. If a recoverer is not provided
the message will be logged and dropped.
- Author:
- Dave Syer
- See Also:
RetryOperations.execute(org.springframework.retry.RetryCallback, org.springframework.retry.RecoveryCallback,
org.springframework.retry.RetryState)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StatefulRetryOperationsInterceptorFactoryBean
public StatefulRetryOperationsInterceptorFactoryBean()
setMessageKeyGeneretor
public void setMessageKeyGeneretor(MessageKeyGenerator messageKeyGeneretor)
setNewMessageIdentifier
public void setNewMessageIdentifier(NewMessageIdentifier newMessageIdentifier)
getObject
public org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor getObject()
getObjectType
public Class<?> getObjectType()
isSingleton
public boolean isSingleton()
- Specified by:
isSingleton
in interface FactoryBean<org.aopalliance.aop.Advice>
- Overrides:
isSingleton
in class AbstractRetryOperationsInterceptorFactoryBean
Copyright © 2011. All Rights Reserved.