- Updated Japanese translation\r
\r
additions: \r
+ - Added GO http/https connector thread pool size setting
- Added a server setting to force a particular translation/Locale for all sessions\r
- Added smart Git Daemon serving. If enabled, git:// access will be offered for any repository which permits anonymous access. If the repository permits anonymous cloning, anonymous git:// clone will be permitted while anonmymous git:// pushes will be rejected.
- Option to automatically tag branch tips on each push with an incremental revision number\r
- { name: 'git.daemonPort', defaultValue: 0 }\r
- { name: 'git.defaultIncrementalPushTagPrefix', defaultValue: 'r' }\r
- { name: 'web.forceDefaultLocale', defaultValue: ' ' }\r
+ - { name: 'server.nioThreadPoolSize', defaultValue: 50 }
}\r
\r
#\r
\r
// conditionally configure the http connector\r
if (params.port > 0) {\r
- Connector httpConnector = createConnector(params.useNIO, params.port);\r
+ Connector httpConnector = createConnector(params.useNIO, settings.getInteger(Keys.server.nioThreadPoolSize, 50), params.port);
String bindInterface = settings.getString(Keys.server.httpBindInterface, null);\r
if (!StringUtils.isEmpty(bindInterface)) {\r
logger.warn(MessageFormat.format("Binding connector on port {0,number,0} to {1}",\r
\r
if (serverKeyStore.exists()) { \r
Connector secureConnector = createSSLConnector(params.alias, serverKeyStore, serverTrustStore, params.storePassword,\r
- caRevocationList, params.useNIO, params.securePort, params.requireClientCertificates);\r
+ caRevocationList, params.useNIO, settings.getInteger(Keys.server.nioThreadPoolSize, 50), params.securePort, params.requireClientCertificates);
String bindInterface = settings.getString(Keys.server.httpsBindInterface, null);\r
if (!StringUtils.isEmpty(bindInterface)) {\r
logger.warn(MessageFormat.format(\r
* \r
* @param useNIO\r
* @param port\r
+ * @param maxThreads
* @return an http connector\r
*/\r
- private Connector createConnector(boolean useNIO, int port) {\r
+ private Connector createConnector(boolean useNIO, int port, int maxThreads) {
Connector connector;\r
if (useNIO) {\r
logger.info("Setting up NIO SelectChannelConnector on port " + port);\r
SelectChannelConnector nioconn = new SelectChannelConnector();\r
nioconn.setSoLingerTime(-1);\r
- nioconn.setThreadPool(new QueuedThreadPool(20));\r
+ nioconn.setThreadPool(new QueuedThreadPool(maxThreads));
connector = nioconn;\r
} else {\r
logger.info("Setting up SocketConnector on port " + port);\r
* @param storePassword\r
* @param caRevocationList\r
* @param useNIO\r
+ * @param nioThreadPoolSize
* @param port\r
* @param requireClientCertificates\r
* @return an https connector\r
*/\r
private Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore,\r
- String storePassword, File caRevocationList, boolean useNIO, int port, \r
+ String storePassword, File caRevocationList, boolean useNIO, int nioThreadPoolSize, int port,
boolean requireClientCertificates) {\r
GitblitSslContextFactory factory = new GitblitSslContextFactory(certAlias,\r
keyStore, clientTrustStore, storePassword, caRevocationList);\r
} else {\r
factory.setWantClientAuth(true);\r
}\r
- ssl.setThreadPool(new QueuedThreadPool(20));\r
+ ssl.setThreadPool(new QueuedThreadPool(nioThreadPoolSize));
connector = ssl;\r
} else {\r
logger.info("Setting up NIO SslSocketConnector on port " + port);\r