public class NBulkheadCallBackendAsSemaphore extends Object implements NBulkheadCallBackend
Semaphore.
This implementation is fast and thread-safe but does not persist state across JVM restarts. For persistent bulkheads, use BulkheadBackendFileBasedImpl or BulkheadBackendRedisImpl.
This should be the default backend when no backend is explicitly configured.
NBulkheadCallBackend.NBulkheadPermit| Constructor and Description |
|---|
NBulkheadCallBackendAsSemaphore() |
| Modifier and Type | Method and Description |
|---|---|
int |
cleanupExpired(String bulkheadId,
NDuration expiryDuration) |
NBulkheadMetrics |
getMetrics(String bulkheadId) |
void |
release(NBulkheadCallBackend.NBulkheadPermit permit) |
NOptional<NBulkheadCallBackend.NBulkheadPermit> |
tryAcquire(String bulkheadId,
int maxConcurrent) |
NOptional<NBulkheadCallBackend.NBulkheadPermit> |
tryAcquire(String bulkheadId,
int maxConcurrent,
NDuration timeout) |
public NOptional<NBulkheadCallBackend.NBulkheadPermit> tryAcquire(String bulkheadId, int maxConcurrent)
tryAcquire in interface NBulkheadCallBackendpublic NOptional<NBulkheadCallBackend.NBulkheadPermit> tryAcquire(String bulkheadId, int maxConcurrent, NDuration timeout)
tryAcquire in interface NBulkheadCallBackendpublic void release(NBulkheadCallBackend.NBulkheadPermit permit)
release in interface NBulkheadCallBackendpublic NBulkheadMetrics getMetrics(String bulkheadId)
getMetrics in interface NBulkheadCallBackendpublic int cleanupExpired(String bulkheadId, NDuration expiryDuration)
cleanupExpired in interface NBulkheadCallBackendCopyright © 2026 vpc open source initiative. All rights reserved.