@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { RemotingProfileAdd.INSTANCE.installServices(context, parentAddress, parentModel); } }, OperationContext.Stage.RUNTIME);
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel) throws OperationFailedException { RemotingProfileAdd.INSTANCE.installServices(context, parentAddress, parentModel); }
@Override protected void recreateParentService(final OperationContext context, final PathAddress parentAddress, final ModelNode parentModel) throws OperationFailedException { switch(context.getCurrentStage()){ case RUNTIME: // service installation in another step: when interruption is thrown then it is handled by RollbackHandler // declared in RestartParentResourceHandlerBase context.addStep(new OperationStepHandler() { @Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { RemotingProfileAdd.INSTANCE.installServices(context, parentAddress, parentModel); } }, OperationContext.Stage.RUNTIME); break; case DONE: // executed from RollbackHandler - service is being installed using correct configuration RemotingProfileAdd.INSTANCE.installServices(context, parentAddress, parentModel); break; } }
@Override protected void recoverServices(final OperationContext context, final ModelNode operation, final ModelNode profileNode) throws OperationFailedException { try { final PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); RemotingProfileAdd.INSTANCE.installServices(context, address, profileNode); } catch (OperationFailedException e) { throw ControllerLogger.ROOT_LOGGER.failedToRecoverServices(e); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); final ModelNode model = Resource.Tools.readModel(resource); final PathAddress address = PathAddress.pathAddress(operation.require(ModelDescriptionConstants.OP_ADDR)); RemotingProfileAdd.INSTANCE.installServices(context, address, model); } }