HomeGuidesChangelog
GuidesGitHubLog In
Guides

Examples

Examples of resilience4j-bulkhead

Create a BulkheadRegistry

Create a BulkheadRegistry with a custom BulkheadConfig.

// Create a custom configuration for a RateLimiter RateLimiterConfig config = RateLimiterConfig.custom() .limitRefreshPeriod(Duration.ofMillis(1)) .limitForPeriod(10) .timeoutDuration(Duration.ofMillis(25)) .build(); // Create a RateLimiterRegistry with a custom global configuration RateLimiterRegistry rateLimiterRegistry = RateLimiterRegistry.of(config);

Create a Bulkhead

Get a Bulkhead from the BulkheadRegistry with the global default configuration

Bulkhead bulkhead = bulkheadRegistry .circuitBreaker("name");

Decorate a functional interface

Decorate your call to BackendService.doSomething() with a Bulkhead and execute the decorated supplier and recover from any exception.

Supplier<String> decoratedSupplier = Bulkhead .decorateSupplier(retry, backendService::doSomething); String result = Try.ofSupplier(decoratedSupplier) .recover(throwable -> "Hello from Recovery").get();