From 69007029f122c3f77db044e879188cc12be3c2f6 Mon Sep 17 00:00:00 2001 From: Florian Zschocke <florian.zschocke@cycos.com> Date: Mon, 26 Aug 2013 06:39:57 -0400 Subject: [PATCH] Add method JGitUtils.createRepository(folder, name, shared) to create a new repository as if it was created with the --shared command line switch of git. --- src/main/java/com/gitblit/GitBlitServer.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java index 79d3d6b..ce05995 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java @@ -203,7 +203,7 @@ // conditionally configure the http connector if (params.port > 0) { - Connector httpConnector = createConnector(params.useNIO, params.port); + Connector httpConnector = createConnector(params.useNIO, params.port, settings.getInteger(Keys.server.threadPoolSize, 50)); String bindInterface = settings.getString(Keys.server.httpBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { logger.warn(MessageFormat.format("Binding connector on port {0,number,0} to {1}", @@ -262,7 +262,7 @@ if (serverKeyStore.exists()) { Connector secureConnector = createSSLConnector(params.alias, serverKeyStore, serverTrustStore, params.storePassword, - caRevocationList, params.useNIO, params.securePort, params.requireClientCertificates); + caRevocationList, params.useNIO, params.securePort, settings.getInteger(Keys.server.threadPoolSize, 50), params.requireClientCertificates); String bindInterface = settings.getString(Keys.server.httpsBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { logger.warn(MessageFormat.format( @@ -410,19 +410,25 @@ * * @param useNIO * @param port + * @param threadPoolSize * @return an http connector */ - private Connector createConnector(boolean useNIO, int port) { + private Connector createConnector(boolean useNIO, int port, int threadPoolSize) { Connector connector; if (useNIO) { logger.info("Setting up NIO SelectChannelConnector on port " + port); SelectChannelConnector nioconn = new SelectChannelConnector(); nioconn.setSoLingerTime(-1); - nioconn.setThreadPool(new QueuedThreadPool(20)); + if (threadPoolSize > 0) { + nioconn.setThreadPool(new QueuedThreadPool(threadPoolSize)); + } connector = nioconn; } else { logger.info("Setting up SocketConnector on port " + port); SocketConnector sockconn = new SocketConnector(); + if (threadPoolSize > 0) { + sockconn.setThreadPool(new QueuedThreadPool(threadPoolSize)); + } connector = sockconn; } @@ -444,11 +450,12 @@ * @param caRevocationList * @param useNIO * @param port + * @param threadPoolSize * @param requireClientCertificates * @return an https connector */ private Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore, - String storePassword, File caRevocationList, boolean useNIO, int port, + String storePassword, File caRevocationList, boolean useNIO, int port, int threadPoolSize, boolean requireClientCertificates) { GitblitSslContextFactory factory = new GitblitSslContextFactory(certAlias, keyStore, clientTrustStore, storePassword, caRevocationList); @@ -462,11 +469,16 @@ } else { factory.setWantClientAuth(true); } - ssl.setThreadPool(new QueuedThreadPool(20)); + if (threadPoolSize > 0) { + ssl.setThreadPool(new QueuedThreadPool(threadPoolSize)); + } connector = ssl; } else { logger.info("Setting up NIO SslSocketConnector on port " + port); SslSocketConnector ssl = new SslSocketConnector(factory); + if (threadPoolSize > 0) { + ssl.setThreadPool(new QueuedThreadPool(threadPoolSize)); + } connector = ssl; } connector.setPort(port); -- Gitblit v1.9.1