@@ -15,19 +15,23 @@ Streamable HTTP or WebSocket, and it builds an ACP client from `spring.acp.clien
1515 <artifactId >acp-spring-boot-starter</artifactId >
1616 <version >${acp.version}</version >
1717</dependency >
18- <!-- Only for an agent served over HTTP: spring.acp.agent.transport.type=http or websocket -->
18+ <!-- Only for an agent served over HTTP (spring.acp.agent.transport.type=http or websocket), one of:
19+ acp-http-servlet (a servlet web application), acp-http-webflux (a reactive one) or
20+ acp-streamable-http-jetty (no web server: the SDK's own listener) -->
1921<dependency >
2022 <groupId >com.agentclientprotocol</groupId >
21- <artifactId >acp-streamable- http-jetty </artifactId >
23+ <artifactId >acp-http-servlet </artifactId >
2224 <version >${acp.version}</version >
2325</dependency >
2426```
2527
2628The starter has the SDK's version. Do not pin the other SDK modules to a version of their own: the
2729starter brings the matching ones. The client's stdio, WebSocket and Streamable HTTP transports are
28- in ` acp-core ` , so a client needs nothing more. Only an agent served over HTTP needs
29- ` acp-streamable-http-jetty ` . The SDK's Jackson 3 module is on the classpath, and the SDK chooses it
30- over Jackson 2 (see the root [ README] ( ../README.md#installation ) ).
30+ in ` acp-core ` , so a client needs nothing more. Only an agent served over HTTP needs one more
31+ module, by application type: ` acp-http-servlet ` in a servlet web application (Spring MVC),
32+ ` acp-http-webflux ` in a reactive one, ` acp-streamable-http-jetty ` in an application without a web
33+ server (see [ Transports] ( #transports ) below). The SDK's Jackson 3 module is on the classpath, and
34+ the SDK chooses it over Jackson 2 (see the root [ README] ( ../README.md#installation ) ).
3135
3236## An agent
3337
@@ -233,6 +237,12 @@ completion per WebSocket frame, so the route sends a frame only when the server
233237a client that stops reading fills the endpoint's bounded send queue, and the socket closes with
2342381011, as on every host.
235239
240+ ** Known issue in 0.80.0: WebFlux on Jetty.** Jetty's connection idle timeout, 30 seconds by
241+ default, closes an ACP WebSocket after 30 seconds without traffic, well before
242+ ` spring.acp.agent.transport.http.web-socket-idle-timeout ` . Set
243+ ` server.jetty.connection-idle-timeout ` (for example ` 30m ` ), or use Reactor Netty, the default
244+ server for WebFlux. A fix is planned for 0.80.1.
245+
236246### Client: ` spring.acp.client.transport.* `
237247
238248| Transport | Set | Client transport |
0 commit comments