├── .gitignore ├── .travis.yml ├── README.md ├── license.txt ├── pom.xml └── src ├── main └── java │ └── com │ └── nurkiewicz │ └── asyncretry │ ├── AsyncRetryContext.java │ ├── AsyncRetryExecutor.java │ ├── AsyncRetryJob.java │ ├── RetryContext.java │ ├── RetryExecutor.java │ ├── RetryJob.java │ ├── SyncRetryExecutor.java │ ├── SyncRetryJob.java │ ├── backoff │ ├── Backoff.java │ ├── BackoffWrapper.java │ ├── BoundedMaxBackoff.java │ ├── BoundedMinBackoff.java │ ├── ExponentialDelayBackoff.java │ ├── FirstRetryNoDelayBackoff.java │ ├── FixedIntervalBackoff.java │ ├── ProportionalRandomBackoff.java │ ├── RandomBackoff.java │ └── UniformRandomBackoff.java │ ├── function │ ├── RetryCallable.java │ └── RetryRunnable.java │ └── policy │ ├── AbortRetryException.java │ └── RetryPolicy.java └── test ├── java └── com │ └── nurkiewicz │ └── asyncretry │ ├── AbstractBaseTestCase.java │ ├── AsyncRetryContextTest.java │ ├── AsyncRetryExecutorHappyTest.java │ ├── AsyncRetryExecutorManualAbortTest.java │ ├── AsyncRetryExecutorManyFailuresTest.java │ ├── AsyncRetryExecutorOneFailureTest.java │ ├── AsyncRetryJobTest.java │ ├── FaultyService.java │ ├── SyncRetryExecutorTest.java │ ├── backoff │ ├── BoundedMaxBackoffTest.java │ ├── BoundedMinBackoffTest.java │ ├── ExponentialDelayBackoffTest.java │ ├── FirstRetryNoDelayBackoffTest.java │ └── RandomBackoffTest.java │ └── policy │ ├── AbstractRetryPolicyTest.java │ ├── RetryPolicyBlackListTest.java │ ├── RetryPolicyBothBlackAndWhiteTest.java │ ├── RetryPolicyDefaultsTest.java │ ├── RetryPolicyMaxRetriesTest.java │ ├── RetryPolicyPredicatesTest.java │ └── RetryPolicyWhiteListTest.java └── resources └── logback-test.xml /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | *.iml 3 | .idea 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/README.md -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/license.txt -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/AsyncRetryContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/AsyncRetryContext.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/AsyncRetryExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/AsyncRetryExecutor.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/AsyncRetryJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/AsyncRetryJob.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/RetryContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/RetryContext.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/RetryExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/RetryExecutor.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/RetryJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/RetryJob.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/SyncRetryExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/SyncRetryExecutor.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/SyncRetryJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/SyncRetryJob.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/Backoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/Backoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/BackoffWrapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/BackoffWrapper.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/BoundedMaxBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/BoundedMaxBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/BoundedMinBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/BoundedMinBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/ExponentialDelayBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/ExponentialDelayBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/FirstRetryNoDelayBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/FirstRetryNoDelayBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/FixedIntervalBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/FixedIntervalBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/ProportionalRandomBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/ProportionalRandomBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/RandomBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/RandomBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/backoff/UniformRandomBackoff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/backoff/UniformRandomBackoff.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/function/RetryCallable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/function/RetryCallable.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/function/RetryRunnable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/function/RetryRunnable.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/policy/AbortRetryException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/policy/AbortRetryException.java -------------------------------------------------------------------------------- /src/main/java/com/nurkiewicz/asyncretry/policy/RetryPolicy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/main/java/com/nurkiewicz/asyncretry/policy/RetryPolicy.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AbstractBaseTestCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AbstractBaseTestCase.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryContextTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryContextTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorHappyTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorHappyTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorManualAbortTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorManualAbortTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorManyFailuresTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorManyFailuresTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorOneFailureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryExecutorOneFailureTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/AsyncRetryJobTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/AsyncRetryJobTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/FaultyService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/FaultyService.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/SyncRetryExecutorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/SyncRetryExecutorTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/backoff/BoundedMaxBackoffTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/backoff/BoundedMaxBackoffTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/backoff/BoundedMinBackoffTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/backoff/BoundedMinBackoffTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/backoff/ExponentialDelayBackoffTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/backoff/ExponentialDelayBackoffTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/backoff/FirstRetryNoDelayBackoffTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/backoff/FirstRetryNoDelayBackoffTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/backoff/RandomBackoffTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/backoff/RandomBackoffTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/AbstractRetryPolicyTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/AbstractRetryPolicyTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyBlackListTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyBlackListTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyBothBlackAndWhiteTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyBothBlackAndWhiteTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyDefaultsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyDefaultsTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyMaxRetriesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyMaxRetriesTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyPredicatesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyPredicatesTest.java -------------------------------------------------------------------------------- /src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyWhiteListTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/java/com/nurkiewicz/asyncretry/policy/RetryPolicyWhiteListTest.java -------------------------------------------------------------------------------- /src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nurkiewicz/async-retry/HEAD/src/test/resources/logback-test.xml --------------------------------------------------------------------------------