org.springframework.batch.retry.interceptor
Class RetryOperationsInterceptor

java.lang.Object
  extended by org.springframework.batch.retry.interceptor.RetryOperationsInterceptor
All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

public class RetryOperationsInterceptor
extends Object
implements org.aopalliance.intercept.MethodInterceptor

A MethodInterceptor that can be used to automatically retry calls to a method on a service if it fails. The injected RetryOperations is used to control the number of retries. By default it will retry a fixed number of times, according to the defaults in RetryTemplate.
Hint about transaction boundaries. If you want to retry a failed transaction you need to make sure that the transaction boundary is inside the retry, otherwise the successful attempt will roll back with the whole transaction. If the method being intercepted is also transactional, then use the ordering hints in the advice declarations to ensure that this one is before the transaction interceptor in the advice chain.

Author:
Rob Harrop, Dave Syer

Constructor Summary
RetryOperationsInterceptor()
           
 
Method Summary
 Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
           
 void setRetryTemplate(RetryOperations retryTemplate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RetryOperationsInterceptor

public RetryOperationsInterceptor()
Method Detail

setRetryTemplate

public void setRetryTemplate(RetryOperations retryTemplate)

invoke

public Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
              throws Throwable
Specified by:
invoke in interface org.aopalliance.intercept.MethodInterceptor
Throws:
Throwable


Copyright © 2009 SpringSource. All Rights Reserved.