Skip to content

Updated Jetty, GlassFish, Grizzly and fixes to pass all tests locally#950

Merged
arjantijms merged 5 commits intoeclipse-ee4j:2.xfrom
dmatej:grizzly5
Jan 16, 2026
Merged

Updated Jetty, GlassFish, Grizzly and fixes to pass all tests locally#950
arjantijms merged 5 commits intoeclipse-ee4j:2.xfrom
dmatej:grizzly5

Conversation

@dmatej
Copy link

@dmatej dmatej commented Jan 12, 2026

Review

  • You can do the review per commit.
  • I could create a standalone PR for every change, however then I would not be able to test them as branch 2.x failed locally without changes.
  • Interesting: Claude AI was wrong suggesting range [3.0,). StackOverflow is right: https://stackoverflow.com/a/8354987/375449

Fixes

  • Some tests used hardcoded ports and did not respect the overridden value

Upgrades

  • Felix plugin - there was a comment which was probably valid for 2.1.x, but was not relevant any more.
  • Jetty tests were using Jetty 9, while there is already Jetty 11 available.
  • GlassFish tests were using GlassFish 8JDK17M5 which fails to collect dependencies as the staging is already gone. So I switched to 7.1.0 and tested also local 8.0.0-SNAPSHOT (however you can use also snapshot from Maven Central Snapshots temporarily), 8.0.0-M15, 8.0.0-M14.
  • Arquillian used in GF tests as new version is more reliable and robust.

Change

  • As we are closing to Grizzly 5.0.0 release, we have found out that Tyrus is not compatible with major Grizzly version change in the OSGI environment. So I removed the upper bound.
  • After release of 5.0.0, Tyrus can simply update the dependency. Same with GlassFish 8.0.0.

Testing

  • I used Temurin JDK 25 in all cases.

Grizzly 5.0.0-SNAPSHOT + GlassFish 8.0.0-SNAPSHOT

mvn clean install -Dtyrus.test.port=12348 -Dtyrus.test.port2=12349 -Dglassfish.version=8.0.0-SNAPSHOT -Dglassfish.directoryName=glassfish8 -Dgrizzly.version=5.0.0-SNAPSHOT
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:05 min
[INFO] Finished at: 2026-01-12T22:54:12+01:00
[INFO] ------------------------------------------------------------------------

Grizzly 4.0.2 + GlassFish 7.1.0 (defaults)

mvn clean install -Dtyrus.test.port=12348 -Dtyrus.test.port2=12349
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:18 min
[INFO] Finished at: 2026-01-12T23:05:38+01:00
[INFO] ------------------------------------------------------------------------

Grizzly 4.0.2 + GlassFish 8.0.0-SNAPSHOT

mvn clean install -Dtyrus.test.port=12348 -Dtyrus.test.port2=12349 -Dglassfish.version=8.0.0-SNAPSHOT -Dglassfish.directoryName=glassfish8
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:04 min
[INFO] Finished at: 2026-01-12T22:57:45+01:00
[INFO] ------------------------------------------------------------------------

There are no tests targeting the OSGI compatibility, so I ran also GlassFish's own tests integrating Tyrus and Grizzly snapshots. After I fixed the range to "3" the failing test passed (see the StackOverflow reference).

mvn clean install -T4C -Pfastest &&  mvn clean install -rf :glassfish-itest-tools
...

Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- however I am not sure those tests do work, but they do pass now
- removed properties which are not supported any more

Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- Tested also with 8.0.0-SNAPSHOT and previous milestones (with existing deps)

Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
@dmatej dmatej marked this pull request as draft January 12, 2026 22:17
- We would have to update for every Grizzly major version coming, otherwise
  projects combining Tyrus and newer Grizzly would break until Tyrus upgrades
  and releases too, despite no real API usages would break.
- Another workaround is bad too - repackaging Tyrus or using osgi fragments.
- The upper bound can be used if somebody finds some future Grizzly version
  incompatible. For now, Tyrus is moving slowly and can be a bit more
  optimistic and open about Grizzly future.

Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
@dmatej dmatej marked this pull request as ready for review January 12, 2026 22:32
@arjantijms arjantijms merged commit ec42bde into eclipse-ee4j:2.x Jan 16, 2026
3 checks passed
@dmatej dmatej deleted the grizzly5 branch January 16, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants