Atmosphere is a transport-agnostic real-time framework for the JVM. Write to a Broadcaster, and the framework delivers to every subscriber -- whether they're on a WebSocket, SSE stream, long-polling loop, gRPC channel, or MCP session.
- Core Runtime -- Broadcaster, AtmosphereResource,
@ManagedService, transport negotiation - Rooms & Presence -- Room management, join/leave, presence tracking, message history, AI virtual members
- Spring Boot -- Auto-configuration for Spring Boot 4.0+, gRPC transport, native image
- Quarkus -- Build-time processing for Quarkus 3.21+, native image
- AI Core --
AiSupportSPI,@AiEndpoint, filters, routing, conversation memory - Spring AI Adapter --
AiSupportbacked by Spring AIChatClient - LangChain4j Adapter --
AiSupportbacked by LangChain4jStreamingChatLanguageModel - Google ADK Adapter --
AiSupportbacked by Google ADKRunner - Embabel Adapter --
AiSupportbacked by EmbabelAgentPlatform
- gRPC Transport -- Bidirectional streaming via grpc-java
- MCP Server -- Model Context Protocol server over WebSocket, SSE, or Streamable HTTP
- atmosphere.js (TypeScript) -- Browser client with React, Vue, and Svelte hooks
- wAsync (Java) -- Async Java client for WebSocket, SSE, streaming, long-polling, gRPC
- Redis Clustering -- Cross-node broadcasting via Redis pub/sub
- Kafka Clustering -- Cross-node broadcasting via Kafka
- Durable Sessions -- Session persistence across restarts (InMemory, SQLite, Redis)
- Kotlin DSL -- Builder API and coroutine extensions
- Observability -- Micrometer metrics, OpenTelemetry tracing, backpressure