GH-1502 Create experimental Spring Boot standalone executable for server #5263
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 therdf4j-http-server-spring
module and have other modules such asrdf4j-http-server
andrdf4j-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):
mvn process-resources
to format from the command line)