public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
public ThreadPoolConfig setTransactionTimeout( final DelayedExecutor transactionMonitor, final long transactionTimeout, final TimeUnit timeunit) { this.transactionMonitor = transactionMonitor; return setTransactionTimeout(transactionTimeout, timeunit); }
protected ThreadPoolConfig configureThreadPoolConfig(final NetworkListener networkListener, final ThreadPool threadPool) { final int maxQueueSize = threadPool.getMaxQueueSize() == null ? Integer.MAX_VALUE : Integer.parseInt(threadPool.getMaxQueueSize()); final int minThreads = Integer.parseInt(threadPool.getMinThreadPoolSize()); final int maxThreads = Integer.parseInt(threadPool.getMaxThreadPoolSize()); final int timeout = Integer.parseInt(threadPool.getIdleThreadTimeoutSeconds()); final ThreadPoolConfig poolConfig = ThreadPoolConfig.defaultConfig(); poolConfig.setPoolName(networkListener.getName()); poolConfig.setCorePoolSize(minThreads); poolConfig.setMaxPoolSize(maxThreads); poolConfig.setQueueLimit(maxQueueSize); // we specify the classloader that loaded this class to ensure // we present the same initial classloader no matter what mode // GlassFish is being run in. // See http://java.net/jira/browse/GLASSFISH-19639 poolConfig.setInitialClassLoader(this.getClass().getClassLoader()); poolConfig.setKeepAliveTime(timeout < 0 ? Long.MAX_VALUE : timeout, TimeUnit.SECONDS); if (transactionTimeoutMillis > 0 && !Utils.isDebugVM()) { poolConfig.setTransactionTimeout(delayedExecutor, transactionTimeoutMillis, TimeUnit.MILLISECONDS); } return poolConfig; }
protected ThreadPoolConfig configureThreadPoolConfig(final NetworkListener networkListener, final ThreadPool threadPool) { final int maxQueueSize = threadPool.getMaxQueueSize() == null ? Integer.MAX_VALUE : Integer.parseInt(threadPool.getMaxQueueSize()); final int minThreads = Integer.parseInt(threadPool.getMinThreadPoolSize()); final int maxThreads = Integer.parseInt(threadPool.getMaxThreadPoolSize()); final int timeout = Integer.parseInt(threadPool.getIdleThreadTimeoutSeconds()); final ThreadPoolConfig poolConfig = ThreadPoolConfig.defaultConfig(); poolConfig.setPoolName(networkListener.getName()); poolConfig.setCorePoolSize(minThreads); poolConfig.setMaxPoolSize(maxThreads); poolConfig.setQueueLimit(maxQueueSize); // we specify the classloader that loaded this class to ensure // we present the same initial classloader no matter what mode // GlassFish is being run in. // See http://java.net/jira/browse/GLASSFISH-19639 poolConfig.setInitialClassLoader(this.getClass().getClassLoader()); poolConfig.setKeepAliveTime(timeout < 0 ? Long.MAX_VALUE : timeout, TimeUnit.SECONDS); if (transactionTimeoutMillis > 0 && !Utils.isDebugVM()) { poolConfig.setTransactionTimeout(obtainDelayedExecutor(), transactionTimeoutMillis, TimeUnit.MILLISECONDS); } return poolConfig; }
public void testTransactionTimeout() throws Exception { final ExecutorService threadPool = Executors.newSingleThreadExecutor(); try { final DelayedExecutor delayedExecutor = new DelayedExecutor(threadPool); final int tasksNum = 10; final long transactionTimeoutMillis = 5000; final CountDownLatch cdl = new CountDownLatch(tasksNum); final ThreadPoolConfig tpc = ThreadPoolConfig.defaultConfig().copy() .setTransactionTimeout(delayedExecutor, transactionTimeoutMillis, TimeUnit.MILLISECONDS) .setCorePoolSize(tasksNum / 2).setMaxPoolSize(tasksNum / 2); final GrizzlyExecutorService ges = GrizzlyExecutorService.createInstance(tpc); for (int i = 0; i < tasksNum; i++) { ges.execute(new Runnable() { @Override public void run() { try { Thread.sleep(transactionTimeoutMillis); } catch (InterruptedException e) { cdl.countDown(); } } }); } cdl.await(transactionTimeoutMillis * 3 / 2, TimeUnit.MILLISECONDS); } finally { threadPool.shutdownNow(); } }
.setKeepAliveTime(-1, TimeUnit.MILLISECONDS) .setPriority(Thread.NORM_PRIORITY) .setTransactionTimeout(-1, TimeUnit.MILLISECONDS);
.setKeepAliveTime(-1, TimeUnit.MILLISECONDS) .setPriority(Thread.NORM_PRIORITY) .setTransactionTimeout(-1, TimeUnit.MILLISECONDS);
threadPoolConfig.setTransactionTimeout( delayedExecutor, transactionTimeout,
threadPoolConfig.setTransactionTimeout( delayedExecutor, transactionTimeout,
threadPoolConfig.setTransactionTimeout( delayedExecutor, transactionTimeout,