Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server: upgrade to Spring 5.1 #1343

Closed
9 tasks done
barthanssens opened this issue Mar 13, 2019 · 7 comments
Closed
9 tasks done

Server: upgrade to Spring 5.1 #1343

barthanssens opened this issue Mar 13, 2019 · 7 comments
Assignees
Labels
📶 enhancement issue is a new feature or improvement M1 Fixed in milestone 1 ⛔ Not backwards compatible A change that breaks backwards compatibility and needs a major release 📦 workbench affects the RDF4J Workbench
Milestone

Comments

@barthanssens
Copy link
Contributor

barthanssens commented Mar 13, 2019

Part of #1148

Spring 4.3 is only supported until 2020 or so, and no guarantee that it runs on JDK 9/10/11..
5.1 is recommended for JDK11, and upgrading should (hopefully) be straightforward
(https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions)

Not sure if we actually use that much Spring to begin with, or if it is a good idea to continue to use Spring framework ?

Version 5.1.2 in CQ's, but it means that more recent versions like 5.1.7 can also be used

  • Spring AOP (CQ19986, PB)

  • Spring Beans (CQ19989, PB)

  • Spring Context (CQ19990, PB)

  • Spring Core (CQ19991, PB)

  • Spring Expression (CQ19992, PB)

  • Spring Test (CQ19996, PB)

  • Spring Web (CQ19993, PB)

  • Spring Web MVC (CQ19994, PB)

  • Javax Servlet-API 3.1 (CQ20170, PB)

Also upgrade test to use Eclipse Jetty 9 (CQ not required, since it's an Eclipse project)

@barthanssens barthanssens added 📶 enhancement issue is a new feature or improvement needs discussion 📦 workbench affects the RDF4J Workbench labels Mar 13, 2019
@barthanssens barthanssens added this to the 3.0 milestone Mar 15, 2019
@abrokenjester
Copy link
Contributor

We really only use Spring Web MVC I think, so it's fairly minimal. I'm happy to switch to something else but I imagine that doing would mean effectively reimplementing most of the Server and Workbench applications.

@hmottestad
Copy link
Contributor

I’m a fan of spring-boot, but then I don’t have much experience with spring (without boot). Any chance spring-boot 2 could be our direction instead? Or too much to rewrite?

@barthanssens
Copy link
Contributor Author

IMHO the easiest way is to just upgrade to 5.1...

Spring Boot is nice, but I'm not sure if it brings much to the table since (at least in my limited experience) it shines with Spring-data and convention-over-code integration with a bunch of other services which we don't use (JPA, messaging...)

For new projects I'd be tempted to look into smaller frameworks like micronaut or quarkus, or microprofile.io, but that's probably a more time-consuming task... Just my 2 cents

@hmottestad
Copy link
Contributor

Sounds well thought through @barthanssens :)

@barthanssens
Copy link
Contributor Author

Ok, I'll start entering the CQs for Spring 5.x then :-)

@barthanssens barthanssens added the ✋ CQ-Pending requires a CQ to be approved label May 24, 2019
@barthanssens barthanssens self-assigned this May 24, 2019
@barthanssens barthanssens removed the ✋ CQ-Pending requires a CQ to be approved label May 31, 2019
@barthanssens barthanssens added ✋ CQ-Pending requires a CQ to be approved and removed ✋ CQ-Pending requires a CQ to be approved labels Jun 12, 2019
@abrokenjester abrokenjester added the ⛔ Not backwards compatible A change that breaks backwards compatibility and needs a major release label Jun 29, 2019
@abrokenjester
Copy link
Contributor

I marked this as not backwards compatible mainly because rdf4j server now requires servlet api 3.1. It means anyone running rdf4j server or workbench on an older servlet container will have to upgrade. Minimal version of Apache Tomcat is now 8. Minimal version of Eclipse Jetty is now 9.

@abrokenjester abrokenjester added the M1 Fixed in milestone 1 label Jun 29, 2019
@barthanssens
Copy link
Contributor Author

ah, good catch....
IMHO Jetty 9 is not unreasonable, since Jetty 8 is EOL since 2015 or so.
Tomcat 7 isn't EOL yet, but it's getting fairly old (latest versions are 8.5.x and 9.0.x)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📶 enhancement issue is a new feature or improvement M1 Fixed in milestone 1 ⛔ Not backwards compatible A change that breaks backwards compatibility and needs a major release 📦 workbench affects the RDF4J Workbench
Projects
None yet
Development

No branches or pull requests

3 participants