Module io.helidon.faulttolerance
Package io.helidon.faulttolerance
Class BulkheadConfig.BuilderBase<BUILDER extends BulkheadConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends BulkheadConfig>
java.lang.Object
io.helidon.faulttolerance.BulkheadConfig.BuilderBase<BUILDER,PROTOTYPE>
- Type Parameters:
BUILDER
- type of the builder extending this abstract builderPROTOTYPE
- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER,
,PROTOTYPE> Prototype.ConfiguredBuilder<BUILDER,
PROTOTYPE>
- Direct Known Subclasses:
BulkheadConfig.Builder
- Enclosing interface:
BulkheadConfig
public abstract static class BulkheadConfig.BuilderBase<BUILDER extends BulkheadConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends BulkheadConfig>
extends Object
implements Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
Bulkhead
.-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Generated implementation of the prototype, can be extended by descendant prototype implementations. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddQueueListener
(Bulkhead.QueueListener queueListener) Queue listeners of this bulkhead.addQueueListeners
(List<? extends Bulkhead.QueueListener> queueListeners) Queue listeners of this bulkhead.Clear existing value of this property.config()
If this instance was configured, this would be the config instance used.Update builder from configuration (node of this type).from
(BulkheadConfig prototype) Update this builder from an existing prototype instance.from
(BulkheadConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.int
limit()
Maximal number of parallel requests going through this bulkhead.limit
(int limit) Maximal number of parallel requests going through this bulkhead.name()
Name for debugging, error reporting, monitoring.Name for debugging, error reporting, monitoring.protected void
Handles providers and decorators.int
Maximal number of enqueued requests waiting for processing.queueLength
(int queueLength) Maximal number of enqueued requests waiting for processing.Queue listeners of this bulkhead.queueListeners
(List<? extends Bulkhead.QueueListener> queueListeners) Queue listeners of this bulkhead.toString()
protected void
Validates required properties.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, self
Methods inherited from interface io.helidon.builder.api.Prototype.ConfiguredBuilder
discoverService, discoverServices
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance. This method disables automatic service discovery.- Parameters:
prototype
- existing prototype to update this builder from- Returns:
- updated builder instance
-
from
Update this builder from an existing prototype builder instance.- Parameters:
builder
- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
config
Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
config
in interfacePrototype.ConfiguredBuilder<BUILDER extends BulkheadConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends BulkheadConfig> - Parameters:
config
- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
limit
Maximal number of parallel requests going through this bulkhead. When the limit is reached, additional requests are enqueued.- Parameters:
limit
- maximal number of parallel calls, defaults is 10- Returns:
- updated builder instance
- See Also:
-
queueLength
Maximal number of enqueued requests waiting for processing. When the limit is reached, additional attempts to invoke a request will receive aBulkheadException
.- Parameters:
queueLength
- length of the queue- Returns:
- updated builder instance
- See Also:
-
queueListeners
Queue listeners of this bulkhead.- Parameters:
queueListeners
- queue listeners- Returns:
- updated builder instance
- See Also:
-
addQueueListeners
Queue listeners of this bulkhead.- Parameters:
queueListeners
- queue listeners- Returns:
- updated builder instance
- See Also:
-
addQueueListener
Queue listeners of this bulkhead.- Parameters:
queueListener
- queue listeners- Returns:
- updated builder instance
- See Also:
-
clearName
Clear existing value of this property.- Returns:
- updated builder instance
- See Also:
-
name
Name for debugging, error reporting, monitoring.- Parameters:
name
- name of this bulkhead- Returns:
- updated builder instance
- See Also:
-
limit
public int limit()Maximal number of parallel requests going through this bulkhead. When the limit is reached, additional requests are enqueued.- Returns:
- the limit
-
queueLength
public int queueLength()Maximal number of enqueued requests waiting for processing. When the limit is reached, additional attempts to invoke a request will receive aBulkheadException
.- Returns:
- the queue length
-
queueListeners
Queue listeners of this bulkhead.- Returns:
- the queue listeners
-
name
Name for debugging, error reporting, monitoring.- Returns:
- the name
-
config
If this instance was configured, this would be the config instance used.- Returns:
- config node used to configure this builder, or empty if not configured
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties.
-