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)

Reply via email to