Comments (8)
Is there any rush for the 4.0 branch?
Yes, without very extensive patching we can't build GlassFish. Jersey depends on Jakarta Annotations 2.1 among others, while for the Jakarta EE 11 M1 release Jakarta Annotations 3.0 is used. Since this is a major version update, OSGi (Felix) kills the server when encountering this.
Also, final review for Jakarta EE 11 is at 30 January 2024, so at least starting with a 4.0 branch to show progress would be good.
from jersey.
We are not there, yet.
The 4.0 branch is planned to come from 3.2 branch (currently the JPMS branch) we are working on.
Is there any rush for the 4.0 branch? We do not have the Jakarta REST API, yet
from jersey.
Specifically org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider
is problematic, as it uses ManagedBean
which has been removed from the Annotations API, so the code will crash no matter what (even without OSGi).
We can always up-sync a 4.0 branch whenever 3.1-JMPS is done? I can branch 4.0 from 3.1-JMPS, update the dependencies, remove the ManagedBean
references, and stage a 4.0-alpha1 or maybe even 4.0-gf-alpha1 if that is less intrusive.
Or maybe, to be even less intrusive, a 4.0-gf branch?
from jersey.
We do not have the Jakarta REST API, yet
We actually do have it. See https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/ws/rs/jakarta.ws.rs-api/4.0.0-M1/
from jersey.
Having the Jakarta REST 4.0.0 M1 is actually even a bigger issue. As you well know, the API comes with big changes, the @Context
is no longer there and every entity method requires a new @Body
annotation for the entity.
Glassfish contains some REST API methods, for instance, in the console, all of them would be required to be changed. So the question is what is the plan for Glassfish? Will it create M1 release with old Jakarta REST API and all newer, with Jersey that understands those new APIs, or will Glassfish also include the new REST API that would require a bigger change in Jersey injection, too?
from jersey.
So the question is what is the plan for Glassfish?
For 8-M1 I'm trying to incorporate as many components with the bar just set to "it compiles" and "it starts". This somewhat aligns with the goals for the Jakarta EE 11 M1 release.
Even without Jakarta REST 4.0.0 M1, Jersey can try to set the compilation target to JDK 17, or even JDK 21 already and try to pass all tests. You can also already incorporate all, or a selection, of the M1 versions of the other APIs. Especially Jakarta Annotations is a relatively simple target (you basically need to remove @ManagedBean
).
Incidentally, I saw RestEASY has already started their branch as well, and are doing things like the above in that branch.
from jersey.
Jersey already builds on JDK 17 & 21.
Will start working on 4.x later this week. We need to finish the Christmas release first and split from there.
from jersey.
4.0 branch created.
from jersey.
Related Issues (20)
- 3.1.4 broken release, JettyConnectorProvider always throws exception HOT 2
- Getting rid of `new File(URL.getPath()).toURI()` HOT 3
- @Context annotation declaration of HttpServletReqeuest object in parent reference is passing the first time API hit values to the resource always HOT 3
- Unbounded memory use of LRUMap due to removed access synchronization in ProviderBase HOT 6
- Can I add custom formatting settings to Gson in jersey-media-json-gson? HOT 2
- How to disable JaxRSFeature.READ_FULL_STREAM? HOT 2
- jersey-netty-connector: response body not processed when content-length/transfer-encoding headers are not present
- jersey-media-json-binding 3.0.12 has two impls of parsson on classpath
- InjectionManagerFactory not found in OSGi http service with Declarative service HOT 3
- 2.x/examples/osgi-helloworld-webapp does not work with Jetty 12 but with Jetty 10 HOT 12
- Connectivity issues masked by ProcessingException: Already connected HOT 1
- IllegalAccessException in jersey-client-proxy when `@BeanParam` annotated class contains private fields
- ServletContext is invalid in MessageBodyWriter if handling async CompletionStage HOT 3
- Headers modified by MultiPartWriter are not sent HOT 2
- HttpUrlConnector and JettyConnector doesn't log the headers modified by MultiPartWriter HOT 2
- [Micrometer] suport for the @Counted annotation
- Wrong CDI-SE context is requested using jersey-media-jaxb versions 3.1.2 and higher running in a weld/grizzly container HOT 2
- jersey-netty-connector - Cancelling the future returned by rx() client does not terminate the request HOT 4
- Project Loom/JDK 21 compatible HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jersey.