@Override public void shutdown() { shutdownAll(partitionThreads); shutdownAll(genericThreads); awaitTermination(partitionThreads); awaitTermination(genericThreads); }
@Override public void runOrExecute(Operation op) { if (isRunAllowed(op)) { run(op); } else { execute(op); } }
@Override public int getPartitionThreadId(int partitionId) { return getPartitionThreadId(partitionId, partitionThreads.length); }
@Probe(name = "runningCount") @Override public int getRunningOperationCount() { return getRunningPartitionOperationCount() + getRunningGenericOperationCount(); }
public OperationExecutorImpl(HazelcastProperties properties, LoggingService loggerService, Address thisAddress, OperationRunnerFactory runnerFactory, NodeExtension nodeExtension, String hzName, ClassLoader configClassLoader) { this.thisAddress = thisAddress; this.logger = loggerService.getLogger(OperationExecutorImpl.class); this.adHocOperationRunner = runnerFactory.createAdHocRunner(); this.partitionOperationRunners = initPartitionOperationRunners(properties, runnerFactory); this.partitionThreads = initPartitionThreads(properties, hzName, nodeExtension, configClassLoader); this.priorityThreadCount = properties.getInteger(PRIORITY_GENERIC_OPERATION_THREAD_COUNT); this.genericOperationRunners = initGenericOperationRunners(properties, runnerFactory); this.genericThreads = initGenericThreads(hzName, nodeExtension, configClassLoader); }
@Override public void run(Operation operation) { checkNotNull(operation, "operation can't be null"); if (!isRunAllowed(operation)) { throw new IllegalThreadStateException("Operation '" + operation + "' cannot be run in current thread: " + Thread.currentThread()); } OperationRunner operationRunner = getOperationRunner(operation); operationRunner.run(operation); }
@Override public void execute(PartitionSpecificRunnable task) { checkNotNull(task, "task can't be null"); execute(task, task.getPartitionId(), task instanceof UrgentSystemOperation); }
@Probe(name = "runningPartitionCount") private int getRunningPartitionOperationCount() { return getRunningOperationCount(partitionOperationRunners); }
configClassLoader, invocationRegistry, hzName, nodeEngine); this.operationExecutor = new OperationExecutorImpl( node.getProperties(), node.loggingService, thisAddress, new OperationRunnerFactoryImpl(this), node.getNodeExtension(), hzName, configClassLoader);
public OperationExecutorImpl(HazelcastProperties properties, LoggingService loggerService, Address thisAddress, OperationRunnerFactory runnerFactory, NodeExtension nodeExtension, String hzName, ClassLoader configClassLoader) { this.thisAddress = thisAddress; this.logger = loggerService.getLogger(OperationExecutorImpl.class); this.adHocOperationRunner = runnerFactory.createAdHocRunner(); this.partitionOperationRunners = initPartitionOperationRunners(properties, runnerFactory); this.partitionThreads = initPartitionThreads(properties, hzName, nodeExtension, configClassLoader); this.priorityThreadCount = properties.getInteger(PRIORITY_GENERIC_OPERATION_THREAD_COUNT); this.genericOperationRunners = initGenericOperationRunners(properties, runnerFactory); this.genericThreads = initGenericThreads(hzName, nodeExtension, configClassLoader); }
@Probe(name = "runningCount") @Override public int getRunningOperationCount() { return getRunningPartitionOperationCount() + getRunningGenericOperationCount(); }
@Override public void run(Operation operation) { checkNotNull(operation, "operation can't be null"); if (!isRunAllowed(operation)) { throw new IllegalThreadStateException("Operation '" + operation + "' cannot be run in current thread: " + Thread.currentThread()); } OperationRunner operationRunner = getOperationRunner(operation); operationRunner.run(operation); }
@Override public void execute(PartitionSpecificRunnable task) { checkNotNull(task, "task can't be null"); execute(task, task.getPartitionId(), task instanceof UrgentSystemOperation); }
@Probe(name = "runningGenericCount") private int getRunningGenericOperationCount() { return getRunningOperationCount(genericOperationRunners); }
configClassLoader, invocationRegistry, hzName, nodeEngine); this.operationExecutor = new OperationExecutorImpl( node.getProperties(), node.loggingService, thisAddress, new OperationRunnerFactoryImpl(this), node.getNodeExtension(), hzName, configClassLoader);
@Override public void runOrExecute(Operation op) { if (isRunAllowed(op)) { run(op); } else { execute(op); } }
@Override public void shutdown() { shutdownAll(partitionThreads); shutdownAll(genericThreads); awaitTermination(partitionThreads); awaitTermination(genericThreads); }
@Override public void accept(Packet packet) { execute(packet, packet.getPartitionId(), packet.isUrgent()); }
@Override public int getPartitionThreadId(int partitionId) { return getPartitionThreadId(partitionId, partitionThreads.length); }
@Probe(name = "runningPartitionCount") private int getRunningPartitionOperationCount() { return getRunningOperationCount(partitionOperationRunners); }