transportBuilder.getSelectorThreadPoolConfig().setMaxPoolSize(1).setCorePoolSize(1); } else { transportBuilder.setSelectorThreadPoolConfig(selectorThreadPoolConfig);
useWorkerThreadStrategy ? Math.max(2, cpus / 4) : Math.max(5, (cpus / 2) - 1); builder.setSelectorThreadPoolConfig(ThreadPoolConfig.defaultConfig().setCorePoolSize( selectorThreadCount).setMaxPoolSize(selectorThreadCount).setPoolName( "OpenDJ LDAP SDK Grizzly selector thread"));
if (sharedTransport) { transportBuilder.setSelectorThreadPoolConfig(ThreadPoolConfig.defaultConfig()); } else { transportBuilder.setSelectorThreadPoolConfig( ThreadPoolConfig.defaultConfig().setMaxPoolSize(1).setCorePoolSize(1)); TCPNIOTransport transport = transportBuilder.build(); transportBuilder.setSelectorThreadPoolConfig(selectorThreadPoolConfig);
if (sharedTransport) { transportBuilder.setSelectorThreadPoolConfig(ThreadPoolConfig.defaultConfig()); } else { transportBuilder.setSelectorThreadPoolConfig( ThreadPoolConfig.defaultConfig().setMaxPoolSize(1).setCorePoolSize(1)); TCPNIOTransport transport = transportBuilder.build(); transportBuilder.setSelectorThreadPoolConfig(selectorThreadPoolConfig);
@Test public void testCustomThreadPoolSameThreadStrategy() throws Exception { final int poolSize = Math.max(Runtime.getRuntime().availableProcessors()/2, 1); final ThreadPoolConfig poolCfg = ThreadPoolConfig.defaultConfig(); poolCfg.setCorePoolSize(poolSize).setMaxPoolSize(poolSize); final TCPNIOTransport tcpTransport = TCPNIOTransportBuilder.newInstance() .setReuseAddress(true) .setIOStrategy(SameThreadIOStrategy.getInstance()) .setSelectorThreadPoolConfig(poolCfg) .setWorkerThreadPoolConfig(null) .build(); try { tcpTransport.start(); } finally { tcpTransport.shutdownNow(); } }
transportBuilder.setSelectorThreadPoolConfig(selectorThreadPoolConfig);
@Test public void testCustomThreadPoolWorkerThreadStrategy() throws Exception { final int selectorPoolSize = Math.max(Runtime.getRuntime().availableProcessors()/2, 1); final ThreadPoolConfig selectorPoolCfg = ThreadPoolConfig.defaultConfig(); selectorPoolCfg.setCorePoolSize(selectorPoolSize).setMaxPoolSize(selectorPoolSize); final int workerPoolSize = Runtime.getRuntime().availableProcessors() * 2 ; final ThreadPoolConfig workerPoolCfg = ThreadPoolConfig.defaultConfig(); workerPoolCfg.setCorePoolSize(workerPoolSize).setMaxPoolSize(workerPoolSize); final TCPNIOTransport tcpTransport = TCPNIOTransportBuilder.newInstance() .setReuseAddress(true) .setIOStrategy(WorkerThreadIOStrategy.getInstance()) .setSelectorThreadPoolConfig(selectorPoolCfg) .setWorkerThreadPoolConfig(workerPoolCfg) .build(); try { tcpTransport.start(); } finally { tcpTransport.shutdownNow(); } } }