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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package org.springframework.batch.retry.backoff;
Strategy interface to control back off between attempts in a single retry operation.

Implementations are expected to be thread-safe and should be designed for concurrent access. Configuration for each implementation is also expected to be thread-safe but need not be suitable for high load concurrent access.

For each block of retry operations the start(org.springframework.batch.retry.RetryContext) method is called and implementations can return an implementation-specific BackOffContext that can be used to track state through subsequent back off invocations.

Each back off process is handled via a call to backOff(org.springframework.batch.retry.backoff.BackOffContext). The will pass in the corresponding BackOffContext object created by the call to start(org.springframework.batch.retry.RetryContext).

Rob Harrop
Dave Syer
public interface BackOffPolicy {

Start a new block of back off operations. Implementations can choose to pause when this method is called, but normally it returns immediately.

context the current retry context, which might contain information that we can use to decide how to proceed.
the implementation-specific BackOffContext or 'null'.
Back off/pause in an implementation-specific fashion. The passed in BackOffContext corresponds to the one created by the call to start(org.springframework.batch.retry.RetryContext) for a given retry operation set.

BackOffInterruptedException if the attempt at back off is interrupted.
	void backOff(BackOffContext backOffContextthrows BackOffInterruptedException;
New to GrepCode? Check out our FAQ X