This is an automated email from the ASF dual-hosted git repository. afs pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit e923f00435dce92ab8f4b99905a850c99ce4e51b Author: Andy Seaborne <[email protected]> AuthorDate: Sun Aug 2 17:28:39 2026 +0100 Constants for default threads min/max in Fuseki --- .../main/java/org/apache/jena/fuseki/main/JettyHttps.java | 4 ++-- .../main/java/org/apache/jena/fuseki/main/JettyServer.java | 6 +++--- .../apache/jena/fuseki/main/sys/FusekiSystemConstants.java | 13 +++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java index 4e97a914d8..63f00604b6 100644 --- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java +++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java @@ -75,7 +75,7 @@ public class JettyHttps { int httpPort, int httpsPort, int minThreads, int maxThreads) { // Server handling http and https. - Server jettyServer = server(keystore, certPassword, httpPort, httpsPort, minThreads, maxThreads); + Server jettyServer = createJettyServerWithConnectors(keystore, certPassword, httpPort, httpsPort, minThreads, maxThreads); if ( httpPort > 0 ) { // Redirect http to https. // Order matters. Check https and bounce if http as first choice. @@ -89,7 +89,7 @@ public class JettyHttps { /** Build the server - http and https connectors. * If httpPort is -1, don't add http. */ - private static Server server(String keystore, String certPassword, int httpPort, int httpsPort, int minThreads, int maxThreads) { + private static Server createJettyServerWithConnectors(String keystore, String certPassword, int httpPort, int httpsPort, int minThreads, int maxThreads) { Server server = JettyServer.jettyServer(minThreads, maxThreads); if ( httpPort > 0 ) { ServerConnector plainConnector = httpConnector(server, httpPort, httpsPort); diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java index a8b84b8aaa..84e86d2182 100644 --- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java +++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java @@ -467,11 +467,10 @@ public class JettyServer { public static Server jettyServer(int minThreads, int maxThreads) { ThreadPool threadPool = null; - // Jetty 9.4 and 12.0 : the Jetty default is max=200, min=8 if ( minThreads < 0 ) - minThreads = 2; + minThreads = FusekiSystemConstants.jettyMinThreads; if ( maxThreads < 0 ) - maxThreads = 20; + maxThreads = FusekiSystemConstants.jettyMaxThreads; maxThreads = Math.max(minThreads, maxThreads); // Args reversed: Jetty uses (max,min) threadPool = new QueuedThreadPool(maxThreads, minThreads); @@ -484,6 +483,7 @@ public class JettyServer { * {@link FusekiSystemConstants#jettyOutputBufferSize}. */ private static ByteBufferPool newByteBufferPool() { int maxCapacity = FusekiSystemConstants.jettyOutputBufferSize; + // int minCapacity, int factor, int maxCapacity, int maxBucketSize, long maxHeapMemory, long maxDirectMemory return new ArrayByteBufferPool(0, -1, maxCapacity, -1, -1, -1); } diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java index 2a5de07736..21e7448a36 100644 --- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java +++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java @@ -78,4 +78,17 @@ public class FusekiSystemConstants { * support. (Jetty 12 default is 8k.) */ public static final int jettyResponseHeaderSize = 16 * 1024; + + // Jetty 9.4 and 12.0 : the Jetty default is max=200, min=8 + // Fuseki operations are queries - expensive and longer lived - so limit the maximum resources by default. + + /** + * Minimum Jetty server threads for the Jetty server of Fuseki. + */ + public static final int jettyMinThreads = 4; + + /** + * Maximum Jetty server threads for the Jetty server of Fuseki. + */ + public static final int jettyMaxThreads = 20; }
