C# Class Spring.Retry.Retry.Backoff.ExponentialRandomBackOffPolicy

Implementation of {@link org.springframework.retry.backoff.ExponentialBackOffPolicy} that chooses a random multiple of the interval. The random multiple is selected based on how many iterations have occurred. This has shown to at least be useful in testing scenarios where excessive contention is generated by the test needing many retries. In test, usually threads are started at the same time, and thus stomp together onto the next interval. Using this {@link BackOffPolicy} can help avoid that scenario. Example: initialInterval = 50 multiplier = 2.0 maxInterval = 3000 numRetries = 5 ExponentialBackOffPolicy yields: [50, 100, 200, 400, 800] ExponentialRandomBackOffPolicy may yield [50, 100, 100, 100, 600] or [50, 100, 150, 400, 800]
Inheritance: ExponentialBackOffPolicy
显示文件 Open project: spring-projects/spring-net-retry

Public Methods

Method Description
Start ( IRetryContext context ) : IBackOffContext

Returns a new instance of IBackOffContext, seeded with this policy's settings.

Protected Methods

Method Description
NewInstance ( ) : ExponentialBackOffPolicy

The new instance.

Method Details

NewInstance() protected method

The new instance.
protected NewInstance ( ) : ExponentialBackOffPolicy
return ExponentialBackOffPolicy

Start() public method

Returns a new instance of IBackOffContext, seeded with this policy's settings.
public Start ( IRetryContext context ) : IBackOffContext
context IRetryContext The context.
return IBackOffContext