Skip to content

UTIL_CircuitBreaker.Provider

Class

apex
global interface UTIL_CircuitBreaker.Provider

Interface for code that needs circuit breaker protection (with return value) Implement this interface when your action needs to return data. Use ProtectedAction if no return value is needed.

Example

apex
public class GetCustomerDataProvider implements UTIL_CircuitBreaker.Provider
{
    private Id customerId;
    public GetCustomerDataProvider(Id customerId)
    {
        customerId = customerId;
    }
    public Object execute()
    {
        // Make API call and return response
        HttpResponse response = makeApiCall();
        return JSON.deserialize(response.getBody(), DTO_CustomerResponse.class);
    }
}
// Usage
UTIL_CircuitBreaker.Breaker breaker = UTIL_CircuitBreaker.monitor('API_GetCustomerData');
DTO_CustomerResponse customer = (DTO_CustomerResponse)breaker.execute(new GetCustomerDataProvider(customerId));

Methods

MethodDescription
global abstract Object execute()The code to execute with circuit breaker protection

execute

apex
global abstract Object execute()

The code to execute with circuit breaker protection

Returns Object — The result of the operation (caller must cast to appropriate type)