This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 8654c07f23a892c03a7367981d814c3c8b094f62 Author: Andy Seaborne <[email protected]> AuthorDate: Sat Aug 31 22:55:28 2024 +0100 GH-2675: Call JenaSystem.init in RDFLinkHTTPBuilder --- jena-core/src/main/java/org/apache/jena/sys/JenaSystem.java | 5 ++++- .../src/main/java/org/apache/jena/rdflink/RDFLinkHTTPBuilder.java | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/jena-core/src/main/java/org/apache/jena/sys/JenaSystem.java b/jena-core/src/main/java/org/apache/jena/sys/JenaSystem.java index 6852cb6e30..09871f83b9 100644 --- a/jena-core/src/main/java/org/apache/jena/sys/JenaSystem.java +++ b/jena-core/src/main/java/org/apache/jena/sys/JenaSystem.java @@ -77,17 +77,20 @@ public class JenaSystem { } public static void init() { + // Once jena is initialized, all calls are an immediate return. if ( initialized ) return ; + // Overlapping attempts to perform initialization will block on the synchronized. synchronized(JenaSystem.class) { if ( initialized ) return ; - initialized = true; setup(); if ( DEBUG_INIT ) singleton.debug(DEBUG_INIT); singleton.initialize(); singleton.debug(false); + // Last so overlapping initialization waits on the synchronized + initialized = true; } } diff --git a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTPBuilder.java b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTPBuilder.java index a11ad05795..8db4740a58 100644 --- a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTPBuilder.java +++ b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTPBuilder.java @@ -30,9 +30,13 @@ import org.apache.jena.sparql.core.Transactional; import org.apache.jena.sparql.core.TransactionalLock; import org.apache.jena.sparql.exec.http.QuerySendMode; import org.apache.jena.sparql.exec.http.UpdateSendMode; +import org.apache.jena.sys.JenaSystem; /** Builder class for {@link RDFLinkHTTP} */ public class RDFLinkHTTPBuilder { + + static { JenaSystem.init(); } + /*package*/ static String SameAsDestination = ""; protected Transactional txnLifecycle = TransactionalLock.createMRPlusSW();
