Skip to content

Commit

Permalink
Add review comments for migration of servlets for RESTEasy Reactive
Browse files Browse the repository at this point in the history
  • Loading branch information
sponiro committed Jul 10, 2023
1 parent 2e841bb commit aa59a0f
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions docs/src/main/asciidoc/resteasy-reactive-migration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,30 @@ when the method returns a `String`.

RESTEasy Reactive does **not** support servlets.
If your project depends on servlets you have to migrate them.
A common situation is when your application is developed with JAX-RS for a servlet-based environment.
A servlet-based JAX-RS implementation must support injections of these types with the `@Context` annotation: `ServletConfig`, `ServletContext`, `HttpServletRequest` and `HttpServletResponse`.
Since RESTEasy Reactive is not servlet-based these injections are not mandatory.
Since RESTEasy Reactive is not servlet-based these injections will not work.

It is not always obvious that this will fail especially if you depend on an extension like `quarkus-undertow` which supplies the interfaces.
For example, if you write this you could compile it but get an exception on calling it:

[source, java]
----
@Path("/reactive")
public class ReactiveResource {
@Context
HttpServletRequest httpServletRequest;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String servletContextPath() {
String contextPath = httpServletRequest.getContextPath();
return "My context path is: " + contextPath;
}
}
----

The same is true for your third-party libraries.
If they happen to depend on servlets you need to find a migration path for them.
Expand Down

0 comments on commit aa59a0f

Please sign in to comment.