private void invoke0(boolean isAsync) { if (invokeCount > 0) { throw new IllegalStateException("This invocation is already in progress"); } else if (isActive()) { throw new IllegalStateException( "Attempt to reuse the same operation in multiple invocations. Operation is " + op); } try { setCallTimeout(op, callTimeoutMillis); setCallerAddress(op, context.thisAddress); op.setNodeEngine(context.nodeEngine); boolean isAllowed = context.operationExecutor.isInvocationAllowed(op, isAsync); if (!isAllowed && !isMigrationOperation(op)) { throw new IllegalThreadStateException(Thread.currentThread() + " cannot make remote call: " + op); } doInvoke(isAsync); } catch (Exception e) { handleInvocationException(e); } }
private void invoke0(boolean isAsync) { if (invokeCount > 0) { throw new IllegalStateException("This invocation is already in progress"); } else if (isActive()) { throw new IllegalStateException( "Attempt to reuse the same operation in multiple invocations. Operation is " + op); } try { setCallTimeout(op, callTimeoutMillis); setCallerAddress(op, context.thisAddress); op.setNodeEngine(context.nodeEngine); boolean isAllowed = context.operationExecutor.isInvocationAllowed(op, isAsync); if (!isAllowed && !isMigrationOperation(op)) { throw new IllegalThreadStateException(Thread.currentThread() + " cannot make remote call: " + op); } doInvoke(isAsync); } catch (Exception e) { handleInvocationException(e); } }