Skip to content

Commit 1099b30

Browse files
author
Mark Pollack
committed
Spring Boot and annotations READMEs: the HTTP module per application type, WebFlux on Jetty, 0.80.0
1 parent ff80797 commit 1099b30

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

‎acp-annotations/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Zero-dependency annotation library for declarative ACP agent development. Use wi
3838
<dependency>
3939
<groupId>com.agentclientprotocol</groupId>
4040
<artifactId>acp-annotations</artifactId>
41-
<version>0.18.0</version>
41+
<version>0.80.0</version>
4242
</dependency>
4343
```
4444

‎acp-spring-boot-autoconfigure/README.md‎

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2628
The starter has the SDK's version. Do not pin the other SDK modules to a version of their own: the
2729
starter 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
233237
a client that stops reading fills the endpoint's bounded send queue, and the socket closes with
234238
1011, 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

Comments
 (0)