Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ The following dependency needs to be added to your pom file:
#### Considerations

Since the BridgeService uses Jetty (via Javalin 6) it is quite possible that there may be conflicts in the project when
you add this library. BridgeService 3.12+ uses the `jakarta.servlet` namespace (Jetty 11). If your project still uses
you add this library. BridgeService 3.11.3+ uses the `jakarta.servlet` namespace (Jetty 11). If your project still uses
`javax.servlet`, you will need to migrate to `jakarta.servlet` or ensure the two are isolated on the classpath.

### Including your project in the BridgeService
Expand All @@ -138,15 +138,15 @@ Legend: ✅ Works  |  ⚠️ Works with workarounds  |  ❌

| IBS release | Exposed Java 8 | Exposed Java 11 | Exposed Java 17 | Exposed Java 21 |
| ------------------------------ | :------------: | :-------------: | :-------------: | :-------------: |
| **pre-3.12** (Spark, Java 11) | ❌ ¹ | ✅ | ⚠️ ² | ❌ ³ |
| **3.12+** (Javalin 6, Java 11) | ❌ ¹ | ✅ | ✅ | ✅ |
| **pre-3.11.3** (Spark, Java 11) | ❌ ¹ | ✅ | ⚠️ ² | ❌ ³ |
| **3.11.3+** (Javalin 6, Java 11) | ❌ ¹ | ✅ | ✅ | ✅ |

**Aggregator Model** — IBS runs its own JVM and loads the exposed project's classes via reflection.

| IBS release | Exposed Java 8 | Exposed Java 11 | Exposed Java 17 | Exposed Java 21 |
| ------------------------------ | :------------: | :-------------: | :-------------: | :-------------: |
| **pre-3.12** (Spark, Java 11) | ✅ | ✅ | ❌ ⁴ | ❌ ⁴ |
| **3.12+** (Javalin 6, Java 11) | ✅ | ✅ | ❌ ⁴ | ❌ ⁴ |
| **pre-3.11.3** (Spark, Java 11) | ✅ | ✅ | ❌ ⁴ | ❌ ⁴ |
| **3.11.3+** (Javalin 6, Java 11) | ✅ | ✅ | ❌ ⁴ | ❌ ⁴ |

¹ Exposed project JVM cannot load IBS bytecode — `UnsupportedClassVersionError`.
² Spark is unofficial on Java 17 and requires `--add-opens` flags.
Expand Down
8 changes: 4 additions & 4 deletions docs/JavaMigration.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The exposed project's JVM runs IBS. Both the bytecode and the HTTP framework mus

| IBS version + framework | Exposed Java 8 | Exposed Java 11 | Exposed Java 17 | Exposed Java 21 |
|---|:---:|:---:|:---:|:---:|
| **Java 11 + Spark** (pre-3.12) | ❌ ¹ | ✅ | ⚠️ ² | ❌ ³ |
| **Java 11 + Spark** (pre-3.11.3) | ❌ ¹ | ✅ | ⚠️ ² | ❌ ³ |
| **Java 11 + Javalin 6** *(current)* | ❌ ¹ | ✅ | ✅ ⁴ | ✅ ⁴ |
| **Java 17 + Spring Boot 3.x** | ❌ ¹ | ❌ ¹ | ✅ ⁴ | ✅ ⁴ |
| **Java 17 + Javalin 6** | ❌ ¹ | ❌ ¹ | ✅ ⁴ | ✅ ⁴ |
Expand All @@ -49,7 +49,7 @@ IBS runs its own JVM and loads the exposed project's classes via reflection. The

| IBS version + framework | Exposed Java 8 | Exposed Java 11 | Exposed Java 17 | Exposed Java 21 |
|---|:---:|:---:|:---:|:---:|
| **Java 11 + Spark** (pre-3.12) | ✅ | ✅ | ❌ ⁵ | ❌ ⁵ |
| **Java 11 + Spark** (pre-3.11.3) | ✅ | ✅ | ❌ ⁵ | ❌ ⁵ |
| **Java 11 + Javalin 6** *(current)* | ✅ | ✅ | ❌ ⁵ | ❌ ⁵ |
| **Java 17 + Spring Boot 3.x** | ✅ ⁴ | ✅ ⁴ | ✅ ⁴ | ❌ ⁵ |
| **Java 17 + Javalin 6** | ✅ ⁴ | ✅ ⁴ | ✅ ⁴ | ❌ ⁵ |
Expand Down Expand Up @@ -233,12 +233,12 @@ Java 17 is therefore the perfect stepping stone: it is the Spring Boot 3.x minim
## Recommended Migration Path

```
Java 11 + Spark Java 2.9.4 + Jetty 9.4 [COMPLETE — pre-3.12]
Java 11 + Spark Java 2.9.4 + Jetty 9.4 [COMPLETE — pre-3.11.3]
Injection: Java 11 exposed projects ✔
Aggregator: Java 8, 11 exposed projects ✔
Priority 1 (#38) Java 11 + Javalin 6 ✅ DONE (released 3.12)
Priority 1 (#38) Java 11 + Javalin 6 ✅ DONE (released 3.11.3)
Replace Spark + Jetty with Javalin 6
Fix setAccessible(true) in CallContent.java:171-172
Migrate javax.* → jakarta.*
Expand Down
Loading