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

GH-1502 Create experimental Spring Boot standalone executable for server #5263

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

benherber
Copy link

GitHub issue resolved: #1502

Briefly describe the changes proposed in this PR:

This PR introduces another build for the RDF4J server outside of the standard WAR packaging. There are a myriad of use-cases specified in the issue but some major benefits include: (i) being more in line with modern deployment (i.e., cloud) strategies; (ii) being more extensible for third parties without having to break WARs open; and (iii) simplifying configuration and Middleware integration using Spring Boots configuration as code approach rather than XML-based.

This is considered an exploratory effort on my end to start the ball rolling and therefore is isolated to a new maven module and is marked with the @Experimental annotation accordingly. The eventual hope would be to pull the spring boot configuration eventually down into the rdf4j-http-server-spring module and have other modules such as rdf4j-http-server and rdf4j-server-jar build WAR and JAR artifacts respectively. However, since this would most likely break any third-party server extensions (servlet versions, war-patching, etc.), this would most likely need to wait for a major release.

Note that this is incomplete (there are the homepages and some of the more frivolous server niceties yet to wire in, but the core api / protocol is implemented), happy to keep in a feature branch until deemed stable / feature-complete; I just wanted to start gathering feedback as early-on as possible.


PR Author Checklist (see the contributor guidelines for more details):

  • my pull request is self-contained
  • I've added tests for the changes I made
  • I've applied code formatting (you can use mvn process-resources to format from the command line)
  • I've squashed my commits where necessary
  • every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

@benherber benherber marked this pull request as draft March 3, 2025 13:30
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.

rdf4j server / workbench self-contained executable
1 participant