Skip to content

Conversation

@rmcdouga
Copy link
Collaborator

This PR replaces the use of Jersey (by default) with Spring MVC, thus eliminating the dependency on Jersey (and on spring-boot-jersey-starter).

Created a separate spring boot starter that uses Jersey for backwards compatibility. Existing applications can switch to it if they encounter issues with the WebMVC implementation.

The code that was reading didn't handle reads with offsets properly.
AemProxy tests are failing but other tests are working.
Since we always "dechunk" it in the proxy code, we do not want to pass
the transfer encoding header back *from* the proxy code.
Originally, the code used an Adaptive Form recording, but when the
TestContainers code was created, it used an HTML5 form instead.  At that
time, the WireMock recordings weren't updated so the WireMock tests
still used the Adaptive Form.

Now both WireMock and TestContainers tests use the same HTML5 form and
so the same container image (running on port 4502) can be used to
re-create the WireMock recordings.
This will mean that it will only be used if no other RestClientFactory
beans are available (i.e. JerseyRestClientFactory is not available).

This should allow the Jersey autoconfiguration to provide the
JerseyRestClientFactory without creating a conflict.
SpringMVC implementation can now be overridden by having other
autoconfigurations override it (as in the case of
fluentforms-jersey-spring-boot-starter).  It can also be overridden via
an explicit configuration setting (fluentforms.rproxy.type).
It was @Autowired as a holdover from when it used JAX-RS Jersey
implementation, but that is not required for Spring.  Constructor
injection is to be preferred over being @Autowired.
Renamed existing CI and updated to distinguish webmvc from jersey.
By default the pom.xml in the parent directory is detected which
conflicts with the <parent> location for spring boot projects.
Sample projects and compositing pom.xml files don't need to be installed
or deployed to the maven repos, so we now exclude them from these steps.
@rmcdouga rmcdouga merged commit 8af04f6 into master Nov 27, 2025
5 of 8 checks passed
@rmcdouga rmcdouga deleted the 20251026_Replace_Jersey_With_WebMVC branch November 28, 2025 15:12
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