Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2006-2007 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.springframework.batch.retry.policy;
 
 import java.util.Map;
 
Simple retry policy that retries a fixed number of times for a set of named exceptions (and subclasses). The number of attempts includes the initial try, so e.g.
 retryTemplate = new RetryTemplate(new SimpleRetryPolicy(3));
 retryTemplate.execute(callback);
 
will execute the callback at least once, and as many as 3 times.

Author(s):
Dave Syer
Rob Harrop
 
 public class SimpleRetryPolicy implements RetryPolicy {

The default limit to the number of attempts for a new policy.
 
 	public final static int DEFAULT_MAX_ATTEMPTS = 3;
 
 	private volatile int maxAttempts;
 
Create a SimpleRetryPolicy with the default number of retry attempts.
 
 	public SimpleRetryPolicy() {
 		this(, Collections
 				.<Class<? extends Throwable>, BooleansingletonMap(Exception.classtrue));
 	}

Create a SimpleRetryPolicy with the specified number of retry attempts.

Parameters:
maxAttempts
retryableExceptions
 
 	public SimpleRetryPolicy(int maxAttemptsMap<Class<? extends Throwable>, BooleanretryableExceptions) {
 		super();
 		this. = maxAttempts;
 		this. = new BinaryExceptionClassifier(retryableExceptions);
 	}

Setter for retry attempts.

Parameters:
retryAttempts the number of attempts before a retry becomes impossible.
 
 	public void setMaxAttempts(int retryAttempts) {
 		this. = retryAttempts;
 	}

The maximum number of retry attempts before failure.

Returns:
the maximum number of attempts
 
 	public int getMaxAttempts() {
 		return ;
 	}

Test for retryable operation based on the status.

Returns:
true if the last exception was retryable and the number of attempts so far is less than the limit.
See also:
org.springframework.batch.retry.RetryPolicy.canRetry(org.springframework.batch.retry.RetryContext)
	public boolean canRetry(RetryContext context) {
		Throwable t = context.getLastThrowable();
		return (t == null || retryForException(t)) && context.getRetryCount() < ;
	}

	public void close(RetryContext status) {
	}

	public void registerThrowable(RetryContext contextThrowable throwable) {
		SimpleRetryContext simpleContext = ((SimpleRetryContextcontext);
		simpleContext.registerThrowable(throwable);
	}

Get a status object that can be used to track the current operation according to this policy. Has to be aware of the latest exception and the number of attempts.

	public RetryContext open(RetryContext parent) {
		return new SimpleRetryContext(parent);
	}
	private static class SimpleRetryContext extends RetryContextSupport {
		public SimpleRetryContext(RetryContext parent) {
			super(parent);
		}
	}

Delegates to an exception classifier.

Parameters:
ex
Returns:
true if this exception or its ancestors have been registered as retryable.
	private boolean retryForException(Throwable ex) {
	}
New to GrepCode? Check out our FAQ X