# Spring AI + Dapr

Make your Spring AI agents production-ready. These tutorials show you how to add fault tolerance using Dapr — with no changes to your agent code.

- [Durable Workflows](https://docs.diagrid.io/getting-started/quickstarts/ai-agents?agentframework=spring-ai#1-log-in-to-catalyst) — Wrap agent tasks in Dapr workflows. Automatic retries, checkpointing, and crash recovery.
- [Crash Recovery](https://docs.diagrid.io/develop/agents/spring-ai/spring-ai-crash-recovery) — Kill the app mid-call and re-attach to the running workflow with a caller-owned instance id — no duplicate work.
- [Durable Memory](https://docs.diagrid.io/develop/agents/spring-ai/spring-ai-durable-memory) — Persist chat memory in a Dapr state store, and see why a response advisor saves the reply only after a successful call.

---

## Why Dapr for Spring AI?

| Challenge | Dapr Solution |
|-----------|---------------|
| Agent crashes lose all progress | **Durable workflows** checkpoint every step |
| Agents tightly coupled, hard to scale | **Pub/sub** decouples communication |
| Conversation history lost on restart | **State management** persists memory |
| Custom retry logic everywhere | **Built-in retries** with exponential backoff |

The [`diagrid-spring-ai`](https://github.com/diagridio/java-ai) starter adds all of this to a standard Spring AI `ChatClient` — just by being on the classpath, with no application-code changes.

---

*Spring is a trademark of Broadcom Inc. and/or its subsidiaries.*
