Skip to content

Drill4J/internal-compatibility-matrix-tests

Repository files navigation

Compatibility Tests

Project Overview

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.

Running Tests with Different Java Versions

This project uses Gradle Java Toolchain to compile and run tests with specific Java versions.

Specify Java Version

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=8

If -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).

Running a separate test

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]

Compatibility Matrix

Web Servers

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

Web Frameworks

Name Versions JDK Tests Notes
HttpServlet 4.0 8-17 servlet-4-tomcat-9
servlet-4-jetty-9
HttpServlet 5.0 8-17 servlet-5-tomcat-10
servlet-5-jetty-11
servlet-5-undertow-2
servlet-5-glassfish-7
HttpServlet 6.0 17 servlet-6-tomcat-11
Spring MVC 4.3.25 8-17 spring-mvc-1.5-tomcat
spring-mvc-1.5-jetty
spring-mvc-1.5-undertow
Spring MVC 5.3.31 8-17 spring-mvc-2.7-tomcat
spring-mvc-2.7-jetty
spring-mvc-2.7-undertow
Spring MVC 6.0.17 17 spring-mvc-3.1-tomcat
spring-mvc-3.1-jetty
spring-mvc-3.1-undertow
Spring WebFlux 5.3.31 8-17 spring-webflux-2.7-netty
spring-webflux-2.7-tomcat
spring-webflux-2.7-jetty
spring-webflux-2.7-undertow
Spring WebFlux 6.0.17 17 spring-webflux-3.1-netty
spring-webflux-3.1-tomcat
spring-webflux-3.1-jetty
spring-webflux-3.1-undertow
Eclipse Jersey 2 8-17 jersey-2-jetty
Apache CXF 3.4 8-17 cxf-3.4-jetty

Asynchronous Communication

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

HTTP Clients

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

WebSocket

Name Versions JDK Tests Notes
Spring WebSocket
Spring WebFlux

Messaging

Name Versions JDK Tests Notes
Kafka Client
Spring Messaging

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages