CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-springframework-ai--spring-ai-spring-boot-autoconfigure

Spring AI Spring Boot Auto Configuration modules providing automatic setup for AI models, vector stores, MCP, and retry capabilities

Overview
Eval results
Files

retry-configuration.mddocs/guides/

Retry Configuration Guide

Step-by-step guide for configuring retry behavior in Spring AI.

Basic Retry Configuration

Step 1: Enable Retry Module

Retry module is automatically enabled when spring-ai-retry is on classpath (included in most starters).

Step 2: Configure Basic Retry

# application.properties
spring.ai.retry.max-attempts=5
spring.ai.retry.backoff.initial-interval=1s
spring.ai.retry.backoff.multiplier=2
spring.ai.retry.backoff.max-interval=30s

Result: Retry delays will be 1s, 2s, 4s, 8s, 16s (5 attempts, capped at 30s).

Step 3: Configure Error Classification

# Retry on rate limits
spring.ai.retry.on-http-codes=429

# Never retry auth errors
spring.ai.retry.exclude-on-http-codes=401,403

Advanced Retry Configuration

Scenario 1: Rate Limit Handling

spring.ai.retry.max-attempts=10
spring.ai.retry.on-http-codes=429,503
spring.ai.retry.backoff.initial-interval=5s
spring.ai.retry.backoff.multiplier=3
spring.ai.retry.backoff.max-interval=120s

Scenario 2: Fast Failure for Auth Issues

spring.ai.retry.max-attempts=3
spring.ai.retry.exclude-on-http-codes=401,403,400
spring.ai.retry.backoff.initial-interval=500ms

Scenario 3: High-Availability Setup

spring.ai.retry.max-attempts=20
spring.ai.retry.on-http-codes=429,500,502,503,504
spring.ai.retry.backoff.initial-interval=1s
spring.ai.retry.backoff.multiplier=1.5

Programmatic Retry

@Service
public class CustomRetryService {
    private final RetryTemplate retryTemplate;
    private final ChatModel chatModel;
    
    public String chatWithCustomRetry(String message) {
        return retryTemplate.execute(
            context -> chatModel.call(message),
            context -> "Fallback response after all retries"
        );
    }
}

Monitoring Retries

@Component
public class RetryMetrics {
    private final MeterRegistry meterRegistry;
    
    @EventListener
    public void onRetry(RetryEvent event) {
        meterRegistry.counter("ai.retry.attempts",
            "exception", event.getException().getClass().getSimpleName()
        ).increment();
    }
}

See Detailed Retry API Reference →

Install with Tessl CLI

npx tessl i tessl/maven-org-springframework-ai--spring-ai-spring-boot-autoconfigure

docs

index.md

tile.json