protected void doExecute(final ModelNode operation, final int attachmentsLength, final ManagementRequestContext<ExecuteRequestContext> context) { final ExecuteRequestContext executeRequestContext = context.getAttachment(); // Set the response information executeRequestContext.initialize(context); final Integer batchId = executeRequestContext.getOperationId(); final OperationMessageHandlerProxy messageHandlerProxy = new OperationMessageHandlerProxy(channelAssociation, batchId); final ProxyOperationControlProxy control = new ProxyOperationControlProxy(executeRequestContext); final OperationAttachmentsProxy attachmentsProxy = OperationAttachmentsProxy.create(channelAssociation, batchId, attachmentsLength); final ModelNode result; try { // Execute the operation result = internalExecute(operation, context, messageHandlerProxy, control, attachmentsProxy); } catch (Exception e) { final ModelNode failure = new ModelNode(); failure.get(OUTCOME).set(FAILED); failure.get(FAILURE_DESCRIPTION).set(e.getClass().getName() + ":" + e.getMessage()); control.operationFailed(failure); attachmentsProxy.shutdown(e); return; } if (result.hasDefined(FAILURE_DESCRIPTION)) { control.operationFailed(result); } else { // controller.execute() will block in OperationControl.prepared until the {@code PoxyController} // sent a CompleteTxRequest, which will either commit or rollback the operation control.operationCompleted(result); } } }
try { result = internalExecute(attachmentsProxy, context, messageHandlerProxy, control); } catch (Throwable t) {
try { result = internalExecute(attachmentsProxy, context, messageHandlerProxy, control); } catch (Throwable t) {