Andy Seaborne created JENA-2182:
-----------------------------------
Summary: Fuseki Modules
Key: JENA-2182
URL: https://issues.apache.org/jira/browse/JENA-2182
Project: Apache Jena
Issue Type: New Feature
Components: Fuseki
Affects Versions: Jena 4.2.0
Reporter: Andy Seaborne
Assignee: Andy Seaborne
Fix For: Jena 4.3.0
[Jena System
initialization|http://jena.apache.org/documentation/notes/system-initialization.html]
happens when the application code first touches Jena. It is a one time loading
of code and running an {{start()}} static function. Additional code can write
itself into Jena (e.g. new RDF syntax can register as a parser language, which
is what SHACL compact syntax does).
In the Fuseki case, the call to {{start()}} is very early. It happens once, and
it is before a server is built.
Fuseki modules are dynamically loaded code (JENA-2178 provides a way to use the
JDK ServiceLoader in a consistent, general pattern). They have additional
functionality in that they get callbacks from within the server creation
lifecycle. They get passed details of the build configuration. They can inspect
or even modify the structure of the builder or the resulting server.
This is for Fuseki main. The sealed nature of WAR files means adding code
requires a repackaging and server building is related to the webapp lifecycle;
this has affected the standalone packaging of Fuseki UI which does not have a
clearly defined server-build point.
Fuseki main has {{FusekiServer.Builder}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)