Auto-configuration for running Atmosphere on Spring Boot 4.0+. Registers AtmosphereServlet, wires Spring DI into Atmosphere's object factory, and exposes AtmosphereFramework and RoomManager as Spring beans.
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-spring-boot-starter</artifactId>
<version>4.0.11</version>
</dependency>atmosphere:
packages: com.example.chat@ManagedService(path = "/atmosphere/chat")
public class Chat {
@Inject
private BroadcasterFactory factory;
@Inject
private AtmosphereResource r;
@Ready
public void onReady() { }
@Disconnect
public void onDisconnect() { }
@Message(encoders = {JacksonEncoder.class}, decoders = {JacksonDecoder.class})
public Message onMessage(Message message) {
return message;
}
}No additional configuration is needed beyond a standard @SpringBootApplication class. The starter auto-registers the servlet, scans for Atmosphere annotations, and integrates with Spring's ApplicationContext.
All properties are under the atmosphere.* prefix:
| Property | Default | Description |
|---|---|---|
atmosphere.packages |
(none) | Comma-separated packages to scan for Atmosphere annotations |
atmosphere.servlet-path |
/atmosphere/* |
Servlet URL mapping |
atmosphere.session-support |
false |
Enable HTTP session support |
atmosphere.websocket-support |
(auto) | Explicitly enable/disable WebSocket |
atmosphere.broadcaster-class |
(default) | Custom Broadcaster implementation |
atmosphere.heartbeat-interval-in-seconds |
(default) | Heartbeat interval |
AtmosphereServlet-- the servlet instanceAtmosphereFramework-- the framework for programmatic configurationRoomManager-- the room API for presence and message historyAtmosphereHealthIndicator-- Actuator health check (whenspring-boot-healthis on the classpath)
Add opentelemetry-api to your classpath and provide an OpenTelemetry bean — the starter automatically registers AtmosphereTracing:
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
</dependency>Every Atmosphere request generates a trace span with transport, resource UUID, broadcaster, and action attributes. Disable with atmosphere.tracing.enabled=false.
When atmosphere-mcp is also on the classpath, an McpTracing bean is auto-created for MCP tool/resource/prompt call tracing.
When micrometer-core and MeterRegistry are on the classpath, AtmosphereMetricsAutoConfiguration registers atmosphere.connections, atmosphere.messages, and atmosphere.broadcasters gauges.
See Spring Boot OTel Chat for a complete example with Jaeger.
The starter includes AtmosphereRuntimeHints for native image support. Build with mvn clean package -Pnative.
- Spring Boot Chat -- rooms, presence, REST API, Micrometer metrics, Actuator health
See docs/spring-boot.md for complete documentation.
- Java 21+
- Spring Boot 4.0+