You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/06/16 15:06:44 UTC

svn commit: r1136422 - in /incubator/jena/Jena2/Fuseki/trunk/src: main/java/org/openjena/fuseki/ main/java/org/openjena/fuseki/server/ test/java/org/openjena/fuseki/ test/java/org/openjena/fuseki/http/

Author: andy
Date: Thu Jun 16 13:06:43 2011
New Revision: 1136422

URL: http://svn.apache.org/viewvc?rev=1136422&view=rev
Log:
Fix thread pool at 5.  

Modified:
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/Fuseki.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java
    incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/TS_Fuseki.java
    incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/http/TestDatasetGraphAccessorHTTP.java

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/Fuseki.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/Fuseki.java?rev=1136422&r1=1136421&r2=1136422&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/Fuseki.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/Fuseki.java Thu Jun 16 13:06:43 2011
@@ -42,9 +42,11 @@ public class Fuseki
     public static String serverHttpName     = NAME+" ("+VERSION+")" ;    
     
     // Log for operations
+    public static String requestLogName = PATH+".Fuseki" ;
     public static Logger requestLog = LoggerFactory.getLogger(PATH+".Fuseki") ;
-    // Log for general server messages.
+    public static String serverLogName = PATH+".Server" ;
     public static Logger serverLog = LoggerFactory.getLogger(PATH+".Server") ;
+    // Log for general server messages.
     
     private static boolean initialized = false ;
     public static void init()

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java?rev=1136422&r1=1136421&r2=1136422&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java Thu Jun 16 13:06:43 2011
@@ -12,8 +12,9 @@ import static org.openjena.fuseki.Fuseki
 import javax.servlet.http.HttpServlet ;
 
 import org.eclipse.jetty.http.MimeTypes ;
+import org.eclipse.jetty.server.Connector ;
 import org.eclipse.jetty.server.Server ;
-import org.eclipse.jetty.server.nio.BlockingChannelConnector ;
+import org.eclipse.jetty.server.nio.SelectChannelConnector ;
 import org.eclipse.jetty.servlet.DefaultServlet ;
 import org.eclipse.jetty.servlet.ServletContextHandler ;
 import org.eclipse.jetty.servlet.ServletHolder ;
@@ -48,7 +49,7 @@ public class SPARQLServer
     private boolean verbose = false ;
     private boolean enableUpdate = false ;
     
-    private static int ThreadPoolSize = 5 ;
+    private static int ThreadPoolSize = 50;
     
     public SPARQLServer(DatasetGraph dsg, String datasetPath, int port, boolean allowUpdate, boolean verbose)
     {
@@ -74,6 +75,8 @@ public class SPARQLServer
         serverLog.info(format("Started %s on port %d", now, server.getConnectors()[0].getPort())) ;
 
         try { server.start() ; }
+        catch (java.net.BindException ex)
+        { log.error("SPARQLServer: Failed to start server: " + ex.getMessage()) ; System.exit(1) ; }
         catch (Exception ex)
         { log.error("SPARQLServer: Failed to start server: " + ex.getMessage(), ex) ; }
         
@@ -103,11 +106,18 @@ public class SPARQLServer
         
         // Server, with one NIO-based connector, large input buffer size (for long URLs, POSTed forms (queries, updates)).
         server = new Server();
+        // Keep the server to a maximum number of threads.
+        server.setThreadPool(new QueuedThreadPool(ThreadPoolSize)) ;
+        
         // Using "= new SelectChannelConnector() ;" on Darwin (OS/X) causes problems 
         // with initialization not seen (thread scheduling?) in Joseki.
-        BlockingChannelConnector connector = new BlockingChannelConnector() ;
-        // Max outstanding requests per connector (= server) 
-        connector.setThreadPool(new QueuedThreadPool(ThreadPoolSize));
+        Connector connector = new SelectChannelConnector() ;
+        
+        /* The BlockingChannelConnector seems to not interact with thread management,
+        *  at least in the way I expect.
+        */
+//        BlockingChannelConnector connector = new BlockingChannelConnector() ;
+//        connector.setThreadPool(new QueuedThreadPool(ThreadPoolSize));
         
         // Ignore. If set, then if this goes off, it keeps going off.
         connector.setMaxIdleTime(0) ; // Jetty outputs a lot of messages if this goes off.

Modified: incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/TS_Fuseki.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/TS_Fuseki.java?rev=1136422&r1=1136421&r2=1136422&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/TS_Fuseki.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/TS_Fuseki.java Thu Jun 16 13:06:43 2011
@@ -6,8 +6,11 @@
 
 package org.openjena.fuseki;
 
+import org.junit.AfterClass ;
+import org.junit.BeforeClass ;
 import org.junit.runner.RunWith ;
 import org.junit.runners.Suite ;
+import org.openjena.atlas.logging.Log ;
 import org.openjena.fuseki.http.TestDatasetGraphAccessorHTTP ;
 import org.openjena.fuseki.http.TestDatasetGraphAccessorMem ;
 import org.openjena.fuseki.http.TestDatasetGraphAccessorTDB ;
@@ -26,7 +29,10 @@ import org.openjena.fuseki.http.TestData
     , TestQuery.class
 })
 public class TS_Fuseki extends BaseServerTest
-{}
+{
+    @BeforeClass static public void beforeClass() { Log.disable(Fuseki.requestLogName) ; }
+    @AfterClass static public void afterClass()   { Log.setInfo(Fuseki.requestLogName) ;}
+}
 
 /*
  * (c) Copyright 2010 Epimorphics Ltd.

Modified: incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/http/TestDatasetGraphAccessorHTTP.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/http/TestDatasetGraphAccessorHTTP.java?rev=1136422&r1=1136421&r2=1136422&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/http/TestDatasetGraphAccessorHTTP.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/http/TestDatasetGraphAccessorHTTP.java Thu Jun 16 13:06:43 2011
@@ -14,8 +14,6 @@ import org.openjena.fuseki.ServerTest ;
 
 public class TestDatasetGraphAccessorHTTP extends TestDatasetGraphAccessorBase
 {
-    
-    
     @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
     @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
     @Before public void before() { ServerTest.resetServer() ; }