Class RepeatOperationsInterceptor
java.lang.Object
org.springframework.batch.repeat.interceptor.RepeatOperationsInterceptor
- All Implemented Interfaces:
org.aopalliance.aop.Advice
,org.aopalliance.intercept.Interceptor
,org.aopalliance.intercept.MethodInterceptor
public class RepeatOperationsInterceptor
extends Object
implements org.aopalliance.intercept.MethodInterceptor
A
MethodInterceptor
that can be used to automatically repeat calls to
a method on a service. The injected RepeatOperations
is used to
control the completion of the loop. Independent of the completion policy in
the RepeatOperations
the loop will repeat until the target method
returns null or false. Be careful when injecting a bespoke
RepeatOperations
that the loop will actually terminate, because the
default policy for a vanilla RepeatTemplate
will never complete if
the return type of the target method is void (the value returned is always
not-null, representing the Void.TYPE
).- Author:
- Dave Syer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioninvoke
(org.aopalliance.intercept.MethodInvocation invocation) Invoke the proceeding method call repeatedly, according to the properties of the injectedRepeatOperations
.void
setRepeatOperations
(RepeatOperations batchTemplate) Setter for theRepeatOperations
.
-
Constructor Details
-
RepeatOperationsInterceptor
public RepeatOperationsInterceptor()
-
-
Method Details
-
setRepeatOperations
Setter for theRepeatOperations
.- Parameters:
batchTemplate
- template to be used- Throws:
IllegalArgumentException
- if the argument is null.
-
invoke
Invoke the proceeding method call repeatedly, according to the properties of the injectedRepeatOperations
.- Specified by:
invoke
in interfaceorg.aopalliance.intercept.MethodInterceptor
- Throws:
Throwable
- See Also:
-
MethodInterceptor.invoke(org.aopalliance.intercept.MethodInvocation)
-