Spring AI Spring Boot Auto Configuration modules providing automatic setup for AI models, vector stores, MCP, and retry capabilities
Common issues and solutions for Spring AI Spring Boot Auto Configuration.
Problem: Expected autoconfiguration beans are not available.
Diagnosis:
# Enable autoconfiguration debug logging
logging.level.org.springframework.boot.autoconfigure=DEBUGCommon Causes:
Solutions:
# Check autoconfiguration report
./mvnw spring-boot:run --debug
# Verify dependencies
./mvnw dependency:tree
# Check conditional evaluation
# Look for "did not match" in logsProblem: 401 Unauthorized or 403 Forbidden errors.
Solutions:
# Use environment variables
spring.ai.openai.api-key=${OPENAI_API_KEY}
# Verify no whitespace
# spring.ai.openai.api-key=sk-... (no spaces)
# Check API key validity
# Test with curl or provider's playgroundProblem: Azure authentication failures.
Solutions:
# Verify endpoint format
spring.ai.azure.openai.endpoint=https://RESOURCE.openai.azure.com
# Use correct API key (not OpenAI key)
spring.ai.azure.openai.api-key=AZURE_KEY
# Or use Azure AD
# Configure via AzureOpenAIClientBuilderCustomizerProblem: Hitting rate limits frequently.
Solutions:
# Configure aggressive retry
spring.ai.retry.on-http-codes=429
spring.ai.retry.max-attempts=10
spring.ai.retry.backoff.initial-interval=5s
spring.ai.retry.backoff.multiplier=3
# Implement request queuing (see edge-cases.md)Problem: Schema creation errors on startup.
Solutions:
# Check database permissions
# Ensure user has CREATE TABLE rights
# For existing tables
spring.ai.vectorstore.pgvector.initialize-schema=never
# For development
spring.ai.vectorstore.pgvector.initialize-schema=always
# Remove existing table first
spring.ai.vectorstore.pgvector.remove-existing-vector-store-table=trueProblem: Vector dimension mismatch errors.
Solutions:
# Ensure dimensions match embedding model
# OpenAI ada-002: 1536
spring.ai.vectorstore.pgvector.dimensions=1536
# Sentence transformers: 768
spring.ai.vectorstore.milvus.embedding-dimension=768
# Check embedding model documentationProblem: Cannot connect to MCP server.
Diagnosis:
# Enable debug logging
logging.level.org.springframework.ai.mcp=DEBUG
logging.level.io.modelcontextprotocol=DEBUGSolutions:
# Verify command and args for stdio
spring.ai.mcp.client.stdio.connections.server.command=/usr/bin/node
spring.ai.mcp.client.stdio.connections.server.args[0]=/full/path/to/server.js
# Increase timeout
spring.ai.mcp.client.request-timeout=60s
# Check server is running (for SSE/HTTP)
# curl http://localhost:8080/sseSolutions:
# Use faster models
spring.ai.openai.chat.options.model=gpt-3.5-turbo
# Reduce max tokens
spring.ai.openai.chat.options.max-tokens=500
# Use streaming
# Implement: chatModel.stream(prompt)
# Enable connection pooling
spring.datasource.hikari.maximum-pool-size=20Solutions:
Solutions:
# Collect runtime hints
java -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image \
-jar target/my-app.jar
# Add reflection configuration
# Create reflect-config.json
# Enable verbose build
./mvnw -Pnative native:compile -DverboseSee Native Image Documentation →
See Edge Cases →
--debug flag to see autoconfiguration report