@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { this.identifier = this.attribute.resolveModelAttribute(context, model).asString(); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { for (ColumnAttribute column : EnumSet.allOf(ColumnAttribute.class)) { ModelNode columnModel = column.resolveModelAttribute(context, model); String name = column.getColumnName().resolveModelAttribute(context, columnModel).asString(); String type = column.getColumnType().resolveModelAttribute(context, columnModel).asString(); this.columns.put(column, new AbstractMap.SimpleImmutableEntry<>(name, type)); } this.fetchSize = FETCH_SIZE.resolveModelAttribute(context, model).asInt(); this.prefix = this.prefixAttribute.resolveModelAttribute(context, model).asString(); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { int maxThreads = this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(); int minThreads = this.definition.getMinThreads().resolveModelAttribute(context, model).asInt(); int queueLength = this.definition.getQueueLength().resolveModelAttribute(context, model).asInt(); long keepAliveTime = this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong(); this.factory = new ExecutorFactory() { @Override public ExecutorService getExecutor(Properties property) { ThreadFactory clThreadFactory = new ClassLoaderThreadFactory(ClientThreadPoolServiceConfigurator.this, AccessController.doPrivileged((PrivilegedAction<ClassLoader>) ClassLoaderThreadFactory.class::getClassLoader)); return new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(queueLength), clThreadFactory); } }; return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { ThreadPoolExecutorFactory<?> factory = new BlockingThreadPoolExecutorFactory( this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(), this.definition.getMinThreads().resolveModelAttribute(context, model).asInt(), this.definition.getQueueLength().resolveModelAttribute(context, model).asInt(), this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong() ) { @Override public ExecutorService createExecutor(ThreadFactory factory) { return super.createExecutor(new ClassLoaderThreadFactory(factory, WildFlySecurityManager.doUnchecked(GET_CLASS_LOADER_ACTION))); } }; this.builder.threadPoolFactory(factory); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { this.setMinThreads(this.definition.getMinThreads().resolveModelAttribute(context, model).asInt()); this.setMaxThreads(this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt()); this.setKeepAliveTime(this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong()); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { int maxThreads = this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(); long keepAliveTime = this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong(); ThreadPoolExecutorFactory<?> factory = new ThreadPoolExecutorFactory<ScheduledExecutorService>() { @Override public ScheduledExecutorService createExecutor(ThreadFactory factory) { // Use fixed size, based on maxThreads ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(maxThreads, new ClassLoaderThreadFactory(factory, WildFlySecurityManager.doUnchecked(GET_CLASS_LOADER_ACTION))); executor.setKeepAliveTime(keepAliveTime, TimeUnit.MILLISECONDS); executor.setRemoveOnCancelPolicy(true); executor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); return executor; } @Override public void validate() { // Do nothing } }; this.builder.threadPoolFactory(factory); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { this.identifier = this.attribute.resolveModelAttribute(context, model).asString(); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { for (ColumnAttribute column : EnumSet.allOf(ColumnAttribute.class)) { ModelNode columnModel = column.resolveModelAttribute(context, model); String name = column.getColumnName().resolveModelAttribute(context, columnModel).asString(); String type = column.getColumnType().resolveModelAttribute(context, columnModel).asString(); this.columns.put(column, new AbstractMap.SimpleImmutableEntry<>(name, type)); } this.fetchSize = FETCH_SIZE.resolveModelAttribute(context, model).asInt(); this.prefix = this.prefixAttribute.resolveModelAttribute(context, model).asString(); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { int maxThreads = this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(); int minThreads = this.definition.getMinThreads().resolveModelAttribute(context, model).asInt(); int queueLength = this.definition.getQueueLength().resolveModelAttribute(context, model).asInt(); long keepAliveTime = this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong(); this.factory = new ExecutorFactory() { @Override public ExecutorService getExecutor(Properties property) { ThreadFactory clThreadFactory = new ClassLoaderThreadFactory(ClientThreadPoolServiceConfigurator.this, AccessController.doPrivileged((PrivilegedAction<ClassLoader>) ClassLoaderThreadFactory.class::getClassLoader)); return new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(queueLength), clThreadFactory); } }; return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { ThreadPoolExecutorFactory<?> factory = new BlockingThreadPoolExecutorFactory( this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(), this.definition.getMinThreads().resolveModelAttribute(context, model).asInt(), this.definition.getQueueLength().resolveModelAttribute(context, model).asInt(), this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong() ) { @Override public ExecutorService createExecutor(ThreadFactory factory) { return super.createExecutor(new ClassLoaderThreadFactory(factory, WildFlySecurityManager.doUnchecked(GET_CLASS_LOADER_ACTION))); } }; this.builder.threadPoolFactory(factory); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { this.setMinThreads(this.definition.getMinThreads().resolveModelAttribute(context, model).asInt()); this.setMaxThreads(this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt()); this.setKeepAliveTime(this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong()); return this; }
@Override public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException { int maxThreads = this.definition.getMaxThreads().resolveModelAttribute(context, model).asInt(); long keepAliveTime = this.definition.getKeepAliveTime().resolveModelAttribute(context, model).asLong(); ThreadPoolExecutorFactory<?> factory = new ThreadPoolExecutorFactory<ScheduledExecutorService>() { @Override public ScheduledExecutorService createExecutor(ThreadFactory factory) { // Use fixed size, based on maxThreads ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(maxThreads, new ClassLoaderThreadFactory(factory, WildFlySecurityManager.doUnchecked(GET_CLASS_LOADER_ACTION))); executor.setKeepAliveTime(keepAliveTime, TimeUnit.MILLISECONDS); executor.setRemoveOnCancelPolicy(true); executor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); return executor; } @Override public void validate() { // Do nothing } }; this.builder.threadPoolFactory(factory); return this; }