Skip to content

Commit d948a36

Browse files
András Berkesclaude
andcommitted
build: dependency refresh, version 2.1.0
Maintenance round (patch/minor only, no API change): - async-http-client 3.0.7 -> 3.0.13, netty-bom 4.2.15.Final -> 4.2.17.Final (kept identical to moleculer-java-web; AHC 3.0.13 happens to ship the same 4.2.17.Final, the pin keeps them aligned when it drifts) - moleculer-java-web 2.0.0 -> 2.1.0; version 2.0.0 -> 2.1.0 (workspace lockstep) - maven plugins: surefire 3.5.6, source 3.4.0, javadoc 3.12.0, gpg 3.2.8, central-publishing 0.11.0 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 (port 8080 was free, so the end-to-end integration test really ran). Bytecode major 61 (Java 17). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xyE4CtMJL23SuGL7oXN7R
1 parent 0bf936e commit d948a36

3 files changed

Lines changed: 16 additions & 15 deletions

File tree

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## What this is
66

7-
`moleculer-java-httpclient` is a small, asynchronous HTTP/WebSocket client **library** (not an application) for the Java Moleculer ecosystem. It wraps [AsyncHttpClient (AHC)](https://github.com/AsyncHttpClient/async-http-client) `3.0.7` and exposes a Promise-based API that speaks Moleculer's data types. Published to Maven Central as `com.github.berkesa:moleculer-java-httpclient`, version **`2.0.0`**. Bytecode target **Java 17** (`<release>17</release>`); minimum consumer runtime: **JDK 17** (Spring 6 transitive). Build JDK 17+ (JDK 25 in use). Single package: `services.moleculer.httpclient`.
7+
`moleculer-java-httpclient` is a small, asynchronous HTTP/WebSocket client **library** (not an application) for the Java Moleculer ecosystem. It wraps [AsyncHttpClient (AHC)](https://github.com/AsyncHttpClient/async-http-client) `3.0.13` and exposes a Promise-based API that speaks Moleculer's data types. Published to Maven Central as `com.github.berkesa:moleculer-java-httpclient`, version **`2.1.0`**. Bytecode target **Java 17** (`<release>17</release>`); minimum consumer runtime: **JDK 17** (Spring 6 transitive). Build JDK 17+ (JDK 25 in use). Single package: `services.moleculer.httpclient`.
88

99
## Build & test commands
1010

@@ -19,7 +19,7 @@ The project builds with **Maven** (Java 17). There is no wrapper — use a local
1919

2020
### Build gotchas
2121

22-
1. **Netty version is pinned to `4.2.15.Final`.** `moleculer-java-web` brings a standalone Netty server at `4.2.15.Final`, while AHC `3.0.7` bundles Netty `4.2.9.Final`. The `pom.xml` imports `io.netty:netty-bom:4.2.15.Final` in `<dependencyManagement>` so every `io.netty:*` artifact resolves to one version — the embedded `ApiGateway`/`NettyServer` and the HTTP client share a single Netty on the port-8080 integration test. Verify with `mvn dependency:tree`.
22+
1. **Netty version is pinned to `4.2.17.Final`.** `moleculer-java-web` brings a standalone Netty server at `4.2.17.Final`, while AHC `3.0.13` bundles Netty `4.2.17.Final` too. The `pom.xml` imports `io.netty:netty-bom:4.2.17.Final` in `<dependencyManagement>` so every `io.netty:*` artifact resolves to one version — the embedded `ApiGateway`/`NettyServer` and the HTTP client share a single Netty on the port-8080 integration test. Verify with `mvn dependency:tree`.
2323
2. **`HttpClientTest` is an end-to-end integration test, not a unit test.** Its `@BeforeEach setUp()` boots a real embedded Moleculer app — a `ServiceBroker` with a Netty `ApiGateway` listening on **port 8080** — then exercises the client against it over real HTTP and WebSocket; `@AfterEach tearDown()` stops both. Port 8080 must be free: `setUp()` probes it and `assumeTrue(...)`-skips the whole test (keeping `mvn verify` green) when it cannot bind. One large method covers all HTTP verbs, streaming, the `transferTo(...)` targets, and WebSockets. The `nio-multipart-parser` dependency is declared at **test scope** because the embedded `ApiGateway` needs it at runtime (web ships it as `optional`).
2424

2525
## Architecture

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Requires **JDK 17**. Built on [AsyncHttpClient](https://github.com/AsyncHttpClie
1919
<dependency>
2020
<groupId>com.github.berkesa</groupId>
2121
<artifactId>moleculer-java-httpclient</artifactId>
22-
<version>2.0.0</version>
22+
<version>2.1.0</version>
2323
</dependency>
2424
```
2525

pom.xml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<groupId>com.github.berkesa</groupId>
99
<artifactId>moleculer-java-httpclient</artifactId>
10-
<version>2.0.0</version>
10+
<version>2.1.0</version>
1111
<packaging>jar</packaging>
1212

1313
<name>Promise-based HTTP client for the Moleculer Applications</name>
@@ -42,32 +42,33 @@
4242
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
4343
<maven.compiler.release>17</maven.compiler.release>
4444

45-
<!-- Inter-project dependencies (lockstep 2.0.0) -->
46-
<moleculer.version>2.0.0</moleculer.version>
45+
<!-- Inter-project dependencies (lockstep 2.1.0) -->
46+
<moleculer.version>2.1.0</moleculer.version>
4747

4848
<!-- Shared dependency versions (kept in sync across the workspace) -->
4949
<slf4j.version>2.0.18</slf4j.version>
5050
<junit.version>5.14.4</junit.version>
5151

5252
<!-- Async HTTP/WebSocket stack -->
53-
<async-http-client.version>3.0.7</async-http-client.version>
53+
<async-http-client.version>3.0.13</async-http-client.version>
5454

5555
<!-- Test-only: the embedded ApiGateway needs the streaming multipart
5656
parser at runtime (moleculer-java-web declares it as optional). -->
5757
<nio-multipart.version>1.1.0</nio-multipart.version>
5858

5959
<!-- Netty: pinned to the workspace-wide version so AHC's bundled Netty
60-
(4.2.9.Final) does not clash with moleculer-java-web's standalone
61-
Netty server (4.2.15.Final) on the port-8080 integration test. -->
62-
<netty.version>4.2.15.Final</netty.version>
60+
does not clash with moleculer-java-web's standalone Netty server
61+
on the port-8080 integration test. (AHC 3.0.13 happens to ship the
62+
same 4.2.17.Final; the pin keeps them aligned when it drifts.) -->
63+
<netty.version>4.2.17.Final</netty.version>
6364

6465
<!-- Build plugin versions (lockstep; see DEPENDENCY-MATRIX.md) -->
6566
<maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version>
66-
<maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
67-
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
68-
<maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version>
69-
<maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version>
70-
<central-publishing-plugin.version>0.9.0</central-publishing-plugin.version>
67+
<maven-surefire-plugin.version>3.5.6</maven-surefire-plugin.version>
68+
<maven-source-plugin.version>3.4.0</maven-source-plugin.version>
69+
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
70+
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
71+
<central-publishing-plugin.version>0.11.0</central-publishing-plugin.version>
7172
</properties>
7273

7374
<dependencyManagement>

0 commit comments

Comments
 (0)