@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { final ExecuteRequestContext executeRequestContext = context.getAttachment(); final byte commitOrRollback = input.readByte(); // Complete transaction, either commit or rollback executeRequestContext.completeTx(context, commitOrRollback == ModelControllerProtocol.PARAM_COMMIT); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { final ExecuteRequestContext executeRequestContext = context.getAttachment(); final byte commitOrRollback = input.readByte(); // Complete transaction, either commit or rollback executeRequestContext.completeTx(context, commitOrRollback == ModelControllerProtocol.PARAM_COMMIT); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { final ExecuteRequestContext executeRequestContext = context.getAttachment(); final byte commitOrRollback = input.readByte(); // Complete transaction, either commit or rollback executeRequestContext.completeTx(context, commitOrRollback == ModelControllerProtocol.PARAM_COMMIT); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { final ExecuteRequestContext executeRequestContext = context.getAttachment(); final byte commitOrRollback = input.readByte(); // Complete transaction, either commit or rollback executeRequestContext.completeTx(context, commitOrRollback == ModelControllerProtocol.PARAM_COMMIT); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final String message = input.readUTF(); // Perhaps use message when the host failed final RegistrationContext registration = context.getAttachment(); registration.completeRegistration(context, status == DomainControllerProtocol.PARAM_OK); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final String message = input.readUTF(); // Perhaps use message when the host failed final RegistrationContext registration = context.getAttachment(); // Complete the registration registration.completeRegistration(context, status == DomainControllerProtocol.PARAM_OK); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final String message = input.readUTF(); // Perhaps use message when the host failed final RegistrationContext registration = context.getAttachment(); registration.completeRegistration(context, status == DomainControllerProtocol.PARAM_OK); }
@Override public void handleRequest(DataInput input, ActiveOperation.ResultHandler<Void> resultHandler, ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final ModelNode subsystems = new ModelNode(); subsystems.readExternal(input); final RegistrationContext registration = context.getAttachment(); if(status == DomainControllerProtocol.PARAM_OK) { registration.setSubsystems(subsystems, context); } else { registration.setSubsystems(null, context); } }
@Override public void handleRequest(DataInput input, ActiveOperation.ResultHandler<Void> resultHandler, ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final ModelNode subsystems = new ModelNode(); subsystems.readExternal(input); final RegistrationContext registration = context.getAttachment(); if(status == DomainControllerProtocol.PARAM_OK) { registration.setSubsystems(subsystems, context); } else { registration.setSubsystems(null, context); } }
@Override public void handleRequest(DataInput input, ActiveOperation.ResultHandler<Void> resultHandler, ManagementRequestContext<RegistrationContext> context) throws IOException { final byte status = input.readByte(); final ModelNode subsystems = new ModelNode(); subsystems.readExternal(input); final RegistrationContext registration = context.getAttachment(); if(status == DomainControllerProtocol.PARAM_OK) { registration.setSubsystems(subsystems, context); } else { registration.setSubsystems(null, context); } }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final ExecuteRequestContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final ExecuteRequestContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final ExecuteRequestContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<OperationExecutionContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final OperationExecutionContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getOperationMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<OperationExecutionContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final OperationExecutionContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getOperationMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE_SEVERITY); final MessageSeverity severity = Enum.valueOf(MessageSeverity.class, input.readUTF()); expectHeader(input, ModelControllerProtocol.PARAM_MESSAGE); final String message = input.readUTF(); expectHeader(input, ManagementProtocol.REQUEST_END); final ExecuteRequestContext requestContext = context.getAttachment(); // perhaps execute async final OperationMessageHandler handler = requestContext.getMessageHandler(); handler.handleReport(severity, message); }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context) throws IOException { if (forExecuteTxRequest) { try { // Read and discard the input ExecutableRequest.parse(input, channelAssociation); } finally { ControllerLogger.MGMT_OP_LOGGER.tracef("aborting (cancel received before request) for %d", context.getOperationId()); ModelNode response = new ModelNode(); response.get(OUTCOME).set(CANCELLED); context.getAttachment().initialize(context); context.getAttachment().failed(response); } } else { // This was a COMPLETE_TX_REQUEST that came in before the original EXECUTE_TX_REQUEST final byte commitOrRollback = input.readByte(); if (commitOrRollback == ModelControllerProtocol.PARAM_COMMIT) { // a cancel would not use PARAM_COMMIT; this was a request that didn't match any existing op // Likely the request was cancelled and removed but the commit message was in process throw ControllerLogger.MGMT_OP_LOGGER.responseHandlerNotFound(context.getOperationId()); } // else this was a cancel request. Do nothing and wait for the initial operation request to come in // and see the pre-existing ActiveOperation and then call this with forExecuteTxRequest=true } }
@Override protected void sendRequest(final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context, final FlushableDataOutput output) throws IOException { // Write the operation final ExecuteRequestContext executionContext = context.getAttachment(); final List<InputStream> streams = executionContext.getInputStreams(); final ModelNode operation = executionContext.getOperation(); int inputStreamLength = 0; if (streams != null) { inputStreamLength = streams.size(); } output.write(ModelControllerProtocol.PARAM_OPERATION); operation.writeExternal(output); output.write(ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); output.writeInt(inputStreamLength); }
@Override protected void sendRequest(final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context, final FlushableDataOutput output) throws IOException { // Write the operation final ExecuteRequestContext executionContext = context.getAttachment(); final List<InputStream> streams = executionContext.getInputStreams(); final ModelNode operation = executionContext.getOperation(); int inputStreamLength = 0; if (streams != null) { inputStreamLength = streams.size(); } output.write(ModelControllerProtocol.PARAM_OPERATION); operation.writeExternal(output); output.write(ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); output.writeInt(inputStreamLength); final Boolean sendSubject = channelAssociation.getAttachments().getAttachment(SEND_SUBJECT); if (sendSubject != null && sendSubject) { final Subject subject = context.getAttachment().getSerializableSubject(); writeSubject(output, subject); } }
@Override public void handleRequest(final DataInput input, final ActiveOperation.ResultHandler<Void> resultHandler, final ManagementRequestContext<RegistrationContext> context) throws IOException { expectHeader(input, DomainControllerProtocol.PARAM_HOST_ID); final String hostName = input.readUTF(); final ModelNode hostInfo = new ModelNode(); hostInfo.readExternal(input); final RegistrationContext registration = context.getAttachment(); registration.initialize(hostName, hostInfo, context); if (domainController.getCurrentRunningMode() == RunningMode.ADMIN_ONLY) { registration.failed(SlaveRegistrationException.ErrorCode.MASTER_IS_ADMIN_ONLY, DomainControllerLogger.ROOT_LOGGER.adminOnlyModeCannotAcceptSlaves(RunningMode.ADMIN_ONLY)); return; } if (!domainController.getLocalHostInfo().isMasterDomainController()) { registration.failed(SlaveRegistrationException.ErrorCode.HOST_IS_NOT_MASTER, DomainControllerLogger.ROOT_LOGGER.slaveControllerCannotAcceptOtherSlaves()); return; } // Read the domain model async, this will block until the registration process is complete context.executeAsync(new ManagementRequestContext.AsyncTask<RegistrationContext>() { @Override public void execute(ManagementRequestContext<RegistrationContext> context) throws Exception { if (Thread.currentThread().isInterrupted()) throw new IllegalStateException("interrupted"); registration.processRegistration(); } }, registrationExecutor); }