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 Bulkhead
BulkheadConfig config = BulkheadConfig.custom()
        .maxConcurrentCalls(10)
        .maxWaitDuration(Duration.ofMillis(1))
        .build();

// Create a BulkheadRegistry with a custom global configuration
BulkheadRegistry bulkheadRegistry =
        BulkheadRegistry.of(config);

Create a Bulkhead

Get a Bulkhead from the BulkheadRegistry with the global default configuration

Bulkhead bulkhead = bulkheadRegistry
  .bulkhead("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();