atmosphere  by Atmosphere

Real-time Java framework for streaming data and AI interactions

Created 15 years ago
3,736 stars

Top 12.8% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> Atmosphere is a high-performance, real-time Java framework for scalable server applications. It provides unified, multi-transport communication (WebSocket, SSE, Long-Polling) and integrates advanced features like AI/LLM streaming and an MCP server. Targeting Java developers building modern, interactive applications, it offers robust real-time data exchange and AI capabilities across various Java stacks.

How It Works

Atmosphere offers a unified communication layer with automatic fallback between WebSocket, SSE, and Long-Polling. Its architecture includes server-side room/presence management for group communication. A key feature is AI/LLM streaming, supporting token-by-token delivery via adapters for frameworks like Spring AI and LangChain4j. The integrated MCP server exposes backend tools and resources to clients via a standardized protocol, enabling AI agent interactions.

Quick Start & Requirements

  • Install/Run: Integrates via starters for Spring Boot (4.0.2+) and Quarkus (3.21+), or atmosphere-runtime for Servlet 6.0+ containers. Client-side atmosphere.js (v5.0) via npm install atmosphere.js.
  • Prerequisites: JDK 21+ for AI/LLM and MCP features. GraalVM JDK 25+ for Spring Boot native images; JDK 21+ for Quarkus native images. Redis or Kafka for clustering.
  • Links: Samples available for Spring Boot, Quarkus, AI streaming. Documentation includes Wiki and Javadoc.

Highlighted Details

  • AI/LLM Streaming: Adapters for Spring AI, LangChain4j, Embabel simplify token-by-token streaming.
  • MCP Server: Exposes backend tools/resources to clients (e.g., Copilot) via Model Context Protocol.
  • Durable Sessions: Sessions survive server restarts (InMemory, SQLite, Redis).
  • Clustering: Multi-node support via Redis or Kafka broadcasters.
  • Client Support: atmosphere.js (v5.0) with React, Vue, Svelte hooks. Kotlin DSL for idiomatic Kotlin.

Maintenance & Community

Copyrighted by Async-IO.org (2008-2026). No specific details on active contributors, community channels, or roadmap were found.

Licensing & Compatibility

The license type is not specified, a critical omission for assessing commercial use. Compatible with Spring Boot, Quarkus, Servlet containers, and supports GraalVM native images.

Limitations & Caveats

Native image builds require specific GraalVM JDK versions and may need manual reflection hints for custom classes. The absence of a stated license is a significant adoption blocker for commercial or closed-source integration.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
8
Issues (30d)
3
Star History
12 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.