This project tests the Drill4J Java Agent for compatibility with different versions of JDK, web servers and frameworks. Based on the testing results, we fill out the compatibility matrix.
This project uses Gradle Java Toolchain to compile and run tests with specific Java versions.
Use the -PjavaVersion property to set the target Java version:
# Run all tests with Java 17
./gradlew test -PjavaVersion=17
# Run all tests with Java 21
./gradlew test -PjavaVersion=21
# Run all tests with Java 8
./gradlew test -PjavaVersion=8If -PjavaVersion is not specified, the default version is 17.
Gradle will automatically download the required JDK if it's not available locally (configured via org.gradle.java.installations.auto-download=true in gradle.properties).
To run a separate test against a specific JDK, follow these steps.
Build the test-agent:
./gradlew clean :test-agent:build :test-agent:runtimeJar
Copy the test-agent files to the directory [path].
Run the test module with the test-agent:
./gradlew clean :[test module]:test -Dtest-agent.binaries=[path]
| Name | Versions | JDK | Tests | Notes |
|---|---|---|---|---|
| Tomcat | 10.1.19 | 11 | tomcat-10.1 | |
| Tomcat | 11.0.0-M18 | 17 | tomcat-11.0 | |
| Jetty | 10.0.20 | 11-17 | jetty-10.0 | |
| Netty | 4.1.107 | 8-17 | netty-4.1 | |
| Undertow | 2.3.12 | 11-17 | undertow-2.3 | |
| Glassfish | 7.0 | 11-17 | servlet-5-glassfish-7 | |
| Wildfly |
| Name | Versions | JDK | Tests | Notes |
|---|---|---|---|---|
| ExecutorService | jdk | 8-17 | executor-service | |
| Reactor | 3.5 | 8-17 | reactor-3.5 | |
| Reactor | 3.6 | 8-17 | reactor-3.6 | |
| Spring Task Execution | 6.1 | 17 | spring-task-execution-3.1 |
| Name | Versions | JDK | Tests | Notes |
|---|---|---|---|---|
| URLConnection | jdk | 8-17 | urlconnection | |
| Apache HttpClient | 4.5 | 8-17 | apache-http-client-4.5 | |
| Apache HttpClient | 5.3 | 8-17 | apache-http-client-5.3 | |
| OkHttp Client | 3.12 | 8-17 | okhttp-client-3.12 | |
| OkHttp Client | 3.14 | 8-17 | okhttp-client-3.14 | |
| OkHttp Client | 4.12 | 8-17 | okhttp-client-4.12 | |
| Spring RestTemplate | 4.3 | 8-17 | spring-resttemplate-4.3 | |
| Spring RestTemplate | 5.3 | 8-17 | spring-resttemplate-5.3 | |
| Spring WebClient | 5.3 | 8-17 | spring-webclient-5.3 | |
| Spring WebClient | 6.1 | 17 | spring-webclient-6.1 | |
| Feign Client | 13 | 8-17 | feign-client-13 |
| Name | Versions | JDK | Tests | Notes |
|---|---|---|---|---|
| Spring WebSocket | ||||
| Spring WebFlux |
| Name | Versions | JDK | Tests | Notes |
|---|---|---|---|---|
| Kafka Client | ||||
| Spring Messaging |