Package com.tnsai.annotations
Annotation Interface Resilience
Configures resilience policies for actions and roles.
This annotation provides declarative resilience configuration including retry policies, circuit breakers, rate limiting, and timeouts.
Usage on Method (Action-level)
@ActionSpec(type = ActionType.WEB_SERVICE, ...)
@Resilience(
retry = @Retry(maxAttempts = 3, backoffMs = 1000),
circuitBreaker = @CircuitBreaker(failureThreshold = 5, resetTimeoutMs = 30000),
timeout = 5000
)
public Result fetchData(String query) { ... }
Usage on Type (Role-level default)
@Resilience(
retry = @Retry(maxAttempts = 2),
timeout = 10000
)
public class ApiRole extends Role { ... }
Precedence
Method-level @Resilience overrides Type-level configuration.- Author:
- TnsAI Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceCircuit breaker configuration.static @interfaceRate limiting configuration.static @interfaceRetry policy configuration. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionbooleanWhether to enable bulkhead isolation.Circuit breaker configuration.Fallback method name to call on failure.intMaximum concurrent executions (for bulkhead).Rate limiting configuration.Retry policy configuration.intTimeout in milliseconds.
-
Element Details
-
retry
Resilience.Retry retryRetry policy configuration.- Returns:
- retry configuration
- Default:
@com.tnsai.annotations.Resilience.Retry
-
circuitBreaker
Resilience.CircuitBreaker circuitBreakerCircuit breaker configuration.- Returns:
- circuit breaker configuration
- Default:
@com.tnsai.annotations.Resilience.CircuitBreaker
-
rateLimit
Resilience.RateLimit rateLimitRate limiting configuration.- Returns:
- rate limit configuration
- Default:
@com.tnsai.annotations.Resilience.RateLimit
-
timeout
int timeoutTimeout in milliseconds.0 means no timeout (use default).
- Returns:
- timeout in ms
- Default:
0
-
fallback
String fallbackFallback method name to call on failure.Method must have same signature as the annotated method.
- Returns:
- fallback method name
- Default:
""
-
bulkhead
boolean bulkheadWhether to enable bulkhead isolation.When true, action runs in isolated thread pool.
- Returns:
- true to enable bulkhead
- Default:
false
-
maxConcurrent
int maxConcurrentMaximum concurrent executions (for bulkhead).- Returns:
- max concurrent calls
- Default:
10
-