- All Superinterfaces:
FtHandler
,RuntimeType.Api<BulkheadConfig>
Bulkhead protects a resource that cannot serve unlimited parallel
requests.
When the limit of parallel execution is reached, requests are enqueued
until the queue length is reached. Once both the limit and queue are full,
additional attempts to invoke will end with a failed response with
BulkheadException
.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A Bulkhead listener for queueing operations.static interface
Provides statistics during the lifetime of a bulkhead, such as concurrent executions, accepted/rejected calls and queue size. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Counter for all the calls in a bulkhead.static final String
Gauge of number of executions rejected by the bulkhead.static final String
Gauge of number of executions running at a certain time.static final String
Gauge of number of executions waiting at a certain time.static final String
Histogram of waiting time to enter a bulkhead. -
Method Summary
Modifier and TypeMethodDescriptionstatic BulkheadConfig.Builder
builder()
Create a new bulkhead fluent API builder.boolean
cancelSupplier
(Supplier<?> supplier) Can be used to cancel a supplier while queued.static Bulkhead
create
(BulkheadConfig config) CreateBulkhead
from its configuration.static Bulkhead
create
(Consumer<BulkheadConfig.Builder> builderConsumer) CreateBulkhead
customizing its configuration.stats()
Provides access to internal stats for this bulkhead.Methods inherited from interface io.helidon.builder.api.RuntimeType.Api
prototype
-
Field Details
-
FT_BULKHEAD_CALLS_TOTAL
Counter for all the calls in a bulkhead.- See Also:
-
FT_BULKHEAD_WAITINGDURATION
Histogram of waiting time to enter a bulkhead.- See Also:
-
FT_BULKHEAD_EXECUTIONSRUNNING
Gauge of number of executions running at a certain time.- See Also:
-
FT_BULKHEAD_EXECUTIONSWAITING
Gauge of number of executions waiting at a certain time.- See Also:
-
FT_BULKHEAD_EXECUTIONSREJECTED
Gauge of number of executions rejected by the bulkhead.- See Also:
-
-
Method Details
-
create
CreateBulkhead
from its configuration.- Parameters:
config
- configuration of a bulkhead to create- Returns:
- a new bulkhead
-
create
CreateBulkhead
customizing its configuration.- Parameters:
builderConsumer
- consumer to update configuration of bulkhead- Returns:
- a new bulkhead
-
builder
Create a new bulkhead fluent API builder.- Returns:
- a new bulkhead builder
-
stats
Bulkhead.Stats stats()Provides access to internal stats for this bulkhead.- Returns:
- internal stats.
-
cancelSupplier
Can be used to cancel a supplier while queued.- Parameters:
supplier
- the supplier- Returns:
- outcome of cancellation
-