Skip to content

Commit 6a8200d

Browse files
committed
Update Java version references from 21 to 25
1 parent 26509a0 commit 6a8200d

File tree

8 files changed

+31
-35
lines changed

8 files changed

+31
-35
lines changed

docs/cloud/sophia/system-overview.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The system consists of two main components:
1616

1717
==== Backend (sophia-restheart)
1818
- Built on RESTHeart framework
19-
- Java 21 with Maven build system
19+
- Java 25 with Maven build system
2020
- Integration with AWS Bedrock using Claude model by Anthropic
2121
- MongoDB database for data persistence
2222
- Vector store for embedding storage and semantic search
@@ -46,7 +46,7 @@ The system delivers seamless real-time communication through WebSocket-based mes
4646
=== Technical Stack
4747

4848
==== Backend Technologies
49-
The backend infrastructure is built on RESTHeart framework running on Java 21, providing a robust and scalable foundation for enterprise applications. The system utilizes MongoDB as its primary database with full Atlas compatibility for cloud deployments. AI and machine learning capabilities are powered by LangChain4j 0.36.2, which integrates seamlessly with AWS Bedrock to access the Claude language model. The application is built and managed using Maven, while security is handled through comprehensive JWT authentication mechanisms.
49+
The backend infrastructure is built on RESTHeart framework running on Java 25, providing a robust and scalable foundation for enterprise applications. The system utilizes MongoDB as its primary database with full Atlas compatibility for cloud deployments. AI and machine learning capabilities are powered by LangChain4j 0.36.2, which integrates seamlessly with AWS Bedrock to access the Claude language model. The application is built and managed using Maven, while security is handled through comprehensive JWT authentication mechanisms.
5050

5151
==== Frontend Technologies
5252
The user interface is developed using Angular framework with TypeScript for type-safe development and enhanced maintainability. Styling is implemented through SCSS for advanced CSS preprocessing capabilities. The system incorporates ngx-markdown with PrismJS integration for sophisticated text rendering and code highlighting. FontAwesome provides comprehensive iconography throughout the interface, while the entire frontend build process is managed through Angular CLI for streamlined development and deployment workflows.

docs/deployment/graalvm.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,20 +87,20 @@ In some use cases, native image might result in slightly worse peak performance.
8787

8888
We suggest to install GraalVM with [sdkman](https://sdkman.io)
8989

90-
You need at least version 23.1.2 for Java 21:
90+
You need at least version 25.0.1:
9191

9292
```bash
93-
$ sdk install java 21.0.2-graalce
93+
$ sdk install java 25.0.1-graalce
9494
```
9595
## Run RESTHeart with GraalVM
9696

9797
Check that GraalVM SDK is active:
9898

9999
```bash
100100
$ java -version
101-
openjdk version "21.0.2" 2024-01-16
102-
OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30)
103-
OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing)
101+
openjdk version "25.0.1" 2025-10-21
102+
OpenJDK Runtime Environment GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01)
103+
OpenJDK 64-Bit Server VM GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01, mixed mode, sharing)
104104
```
105105

106106
Then just run RESTHeart as usual:
@@ -130,9 +130,9 @@ Check that GraalVM SDK is active:
130130

131131
```bash
132132
$ java -version
133-
openjdk version "21.0.2" 2024-01-16
134-
OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30)
135-
OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing)
133+
openjdk version "25.0.1" 2025-10-21
134+
OpenJDK Runtime Environment GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01)
135+
OpenJDK 64-Bit Server VM GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01, mixed mode, sharing)
136136
```
137137

138138
You can then simply build it with:

docs/foundations/core-concepts.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ Check if the authenticated user has permission to perform the request (ACLs, rol
367367

368368
== Virtual Threads
369369

370-
RESTHeart uses Java 21's virtual threads for superior performance:
370+
RESTHeart uses Java 25's virtual threads for superior performance:
371371

372372
**Benefits:**
373373
- **Lightweight** - Millions of virtual threads vs thousands of platform threads
@@ -380,7 +380,7 @@ RESTHeart uses Java 21's virtual threads for superior performance:
380380
[source,java]
381381
----
382382
// This looks synchronous but doesn't block platform threads
383-
var data = mongoClient.find("db", "collection");
383+
var data = mongoClient.find("db", "collection");
384384
response.setContent(data);
385385
----
386386

@@ -450,10 +450,10 @@ export function handle(request, response) {
450450

451451
== Performance Characteristics
452452

453-
**Startup Time:** ~100ms (with standard plugins)
454-
**Memory Footprint:** ~50MB heap (configurable)
455-
**Request Latency:** Sub-millisecond for simple operations
456-
**Throughput:** Hundreds of thousands of requests per second
453+
**Startup Time:** ~100ms (with standard plugins)
454+
**Memory Footprint:** ~50MB heap (configurable)
455+
**Request Latency:** Sub-millisecond for simple operations
456+
**Throughput:** Hundreds of thousands of requests per second
457457
**GraalVM Native:** ~40MB binary, instant startup (<10ms)
458458

459459
**Learn more:** link:/docs/reference/performances[Performance Guide]

docs/foundations/introduction.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ RESTHeart is a framework for building cloud-native HTTP microservices. It's desi
1717
Out of the box, RESTHeart provides complete MongoDB APIs that work immediately:
1818

1919
* **REST API** - Full CRUD operations, queries, aggregations, transactions
20-
* **GraphQL API** - Flexible queries with automatic MongoDB integration
20+
* **GraphQL API** - Flexible queries with automatic MongoDB integration
2121
* **WebSocket API** - Real-time data with change streams
2222
* **Security** - Built-in authentication and authorization
2323

@@ -86,7 +86,7 @@ plugins
8686

8787
**What you'll use:**
8888
- Part 2: MongoDB REST API
89-
- Part 3: GraphQL & WebSocket APIs
89+
- Part 3: GraphQL & WebSocket APIs
9090
- Part 4: Security
9191
- Part 5: Configuration & Deployment
9292

@@ -118,7 +118,7 @@ RESTHeart prioritizes speed and simplicity. It's built with high-quality librari
118118

119119
=== Virtual Threads for Superior Performance
120120

121-
RESTHeart fully embraces virtual threads, the groundbreaking feature introduced in Java 21. Virtual threads deliver remarkable performance and efficiency improvements:
121+
RESTHeart fully embraces virtual threads that deliver remarkable performance and efficiency improvements:
122122

123123
- Faster execution
124124
- Lower memory footprint
@@ -131,7 +131,7 @@ This keeps RESTHeart at the forefront of high-performance, scalable frameworks.
131131

132132
For many applications, you just need:
133133
- **Data access** - REST/GraphQL/WebSocket APIs for MongoDB
134-
- **Security** - Authentication and authorization
134+
- **Security** - Authentication and authorization
135135
- **Configuration** - Connect to your database
136136

137137
> Most applications require exactly this. Run a stock RESTHeart instance with zero code!

docs/foundations/quick-start.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Get RESTHeart running in 5 minutes and make your first API call.
1515
You need one of the following:
1616

1717
* **Docker** (recommended) - link:https://docs.docker.com/get-docker/[Get Docker]
18-
* **Java 21 or later** - link:https://adoptium.net/[Get Java]
18+
* **Java 25 or later, suggested GraalVM** - link:https://www.graalvm.org/downloads/[Get GraalVM]
1919

2020
=== Option 1: Docker Compose (Recommended)
2121

docs/foundations/setup-with-docker.adoc

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -316,27 +316,23 @@ RESTHeart Docker images come in four different versions:
316316
- You need a specific version → Use version tags like `8.1.5`
317317

318318
==== Docker Tag Reference
319-
- Standard multi-arch (FROM eclipse-temurin)
320-
- Graalvm (FROM softinstigate/graalvm)
321-
- distroless (FROM gcr.io/distroless/java21-debian12)
319+
- Standard multi-arch (FROM softinstigate/graalvm)
322320
- native (FROM debian:12.6-slim)
323321

324322
These are example tags:
325323

326324
[cols="1,1,3"]
327325
|===
328326
|**Tag**|**Example**|**Description**
329-
|`<version>`|`latest`, `8`, `8.1`, `8.0.1`|**The standard image.** This is usually the one you want to use. Keep in mind it doesn't support running JavaScript plugins. `docker pull softinstigate/restheart:latest`
330-
|`<version>-distroless`|`latest-distroless`, `8-distroless`, `8.1-distroless`, `8.0.1-distroless` | Similar to the standard image, this image contains only RESTHeart and its runtime dependencies. It does not contain a package manager, shells or any other programs you would expect to find in a standard Linux distribution. `docker pull softinstigate/restheart:latest-distroless`
331-
|`<version>-graalvm`|`latest-graalvm`, `8-graalvm`, `8.1-graalvm`, `8.0.1-graalvm` | RESTHeart running on the GraalVM that will let you JavaScript plugins. Check out the link:/docs/plugins/core-plugins-js[Plugins in JavaScript] for more info. This is the biggest image (about 600Mbytes). `docker pull softinstigate/restheart:latest-graalvm`
332-
|`<version>-native`|`latest-native`, `8-native`, `8.1-native`, `8.0.1-native` | RESTHeart built as a native binary. It is the smallest image with lightning-fast startup time. This is the perfect choice for deploying in a Kubernetes cluster. It can only execute JavaScript plugins. Check out link:/docs/plugins/deploy#deploy-java-plugins-on-restheart-native[Deploy Java plugins on RESTHeart Native] for more info. `docker pull softinstigate/restheart:latest-native`
327+
|`<version>`|`latest`, `9`, `9.0`, `9.0.0`|**The standard image.** This is usually the one you want to use. `docker pull softinstigate/restheart:latest`
328+
|`<version>-native`|`latest-native`, `9-native`, `9.0-native`, `9.0.0-native` | RESTHeart built as a native binary. It is the smallest image with lightning-fast startup time. This is the perfect choice for deploying in a Kubernetes cluster. It can only execute JavaScript plugins. Check out link:/docs/plugins/deploy#deploy-java-plugins-on-restheart-native[Deploy Java plugins on RESTHeart Native] for more info. `docker pull softinstigate/restheart:latest-native`
333329
|===
334330

331+
NOTE: The native image does not support Java plugins. However, you can build your own RESTHeart executable that embeds your plugins. Check the link:https://github.com/SoftInstigate/restheart-plugin-skeleton/[RESTHeart Plugin Skeleton] for more information.
332+
335333
=== Dockerfile
336334

337335
- link:https://github.com/SoftInstigate/restheart/blob/master/core/Dockerfile[Dockerfile]
338-
- link:https://github.com/SoftInstigate/restheart/blob/master/core/Dockerfile.distroless[Dockerfile.distroless]
339-
- link:https://github.com/SoftInstigate/restheart/blob/master/core/Dockerfile.graalvm[Dockerfile.graalvm]
340336
- link:https://github.com/SoftInstigate/restheart/blob/master/core/Dockerfile.native[Dockerfile.native]
341337

342338
The "distroless" images are for special deployment requirements, where having the smallest possible image size and the very minimal security attack surface is required and their tag contains a `distroless` label. You usually don't need these images unless you exactly know what you are doing.

docs/framework/deploy.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ Make sure you are using GraalVM.
241241
[source,bash]
242242
----
243243
$ java -version
244-
openjdk version "21.0.2" 2024-01-16
245-
OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30)
246-
OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing)
244+
openjdk version "25.0.1" 2025-10-21
245+
OpenJDK Runtime Environment GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01)
246+
OpenJDK 64-Bit Server VM GraalVM CE 25.0.1+8.1 (build 25.0.1+8-jvmci-b01, mixed mode, sharing)
247247
----
248248

249249
Build it.

docs/framework/tutorial.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ IMPORTANT: **Explore Comprehensive RESTHeart Examples!** If you're looking to di
1616

1717
To run this tutorial, the following are required:
1818

19-
1) **Java 21**: Install it using link:https://sdkman.io[sdkman^]
19+
1) **Java 25**: Install it using link:https://sdkman.io[sdkman^]
2020

2121
[source,bash]
22-
$ sdk install java 21.0.3-tem
22+
$ sdk install java 25.0.1-graalce
2323

2424
2) **Docker**: Necessary for running RESTHeart.
2525

0 commit comments

Comments
 (0)