@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); performRuntime(context, operation, model, logContextConfiguration); addCommitStep(context, configurationPersistence); }
@Override protected final boolean applyUpdateToRuntime(final OperationContext context, final ModelNode operation, final String attributeName, final ModelNode resolvedValue, final ModelNode currentValue, final HandbackHolder<ConfigurationPersistence> handbackHolder) throws OperationFailedException { final String name = getAddressName(operation); final PathAddress address = getAddress(operation); final ConfigurationPersistence configurationPersistence; final boolean isLoggingProfile = LoggingProfileOperations.isLoggingProfileAddress(address); if (isLoggingProfile) { final LogContext logContext = LoggingProfileContextSelector.getInstance().getOrCreate(LoggingProfileOperations.getLoggingProfileName(address)); configurationPersistence = ConfigurationPersistence.getOrCreateConfigurationPersistence(logContext); } else { configurationPersistence = ConfigurationPersistence.getOrCreateConfigurationPersistence(); } final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); handbackHolder.setHandback(configurationPersistence); final boolean restartRequired = applyUpdate(context, attributeName, name, resolvedValue, logContextConfiguration); addCommitStep(context, configurationPersistence); return restartRequired; }
/** * Get the address name from the operation. * * @param operation the operation to extract the address name from * * @return the name */ public static String getAddressName(final ModelNode operation) { return getAddress(operation).getLastElement().getValue(); }
@Override public void performRuntime(final OperationContext context, final ModelNode operation, final LogContextConfiguration logContextConfiguration, final String name, final ModelNode model) throws OperationFailedException { HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(name); final boolean exists = configuration != null; if (!exists) { LoggingLogger.ROOT_LOGGER.tracef("Adding handler '%s' at '%s'", name, LoggingOperations.getAddress(operation)); configuration = createHandlerConfiguration(context, model, name, logContextConfiguration); } for (AttributeDefinition attribute : attributes) { // CLASS and MODULE should be ignored final boolean skip; if ((attribute.equals(CLASS) || attribute.equals(MODULE)) || attribute.equals(FILTER)) { skip = true; } else { // No need to change values that are equal skip = (exists && equalValue(attribute, context, model, logContextConfiguration, configuration)); } if (!skip) handleProperty(attribute, context, model, logContextConfiguration, configuration); } }
@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); performRuntime(context, operation, model, logContextConfiguration); addCommitStep(context, configurationPersistence); }
@Override public final void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { // Get the address and the name of the logger or handler final PathAddress address = getAddress(operation); final String name = getAddressName(operation); final ConfigurationPersistence configurationPersistence; final boolean isLoggingProfile = LoggingProfileOperations.isLoggingProfileAddress(address); if (isLoggingProfile) { final LogContext logContext = LoggingProfileContextSelector.getInstance().getOrCreate(LoggingProfileOperations.getLoggingProfileName(address)); configurationPersistence = ConfigurationPersistence.getOrCreateConfigurationPersistence(logContext); } else { configurationPersistence = ConfigurationPersistence.getOrCreateConfigurationPersistence(); } final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); execute(context, operation, name, logContextConfiguration); if (context.getProcessType().isServer()) { addCommitStep(context, configurationPersistence); // Add rollback handler in case rollback is invoked before a commit step is invoked context.completeStep(new RollbackHandler() { @Override public void handleRollback(final OperationContext context, final ModelNode operation) { configurationPersistence.rollback(); } }); } else { context.stepCompleted(); } }
@Override public void performRuntime(final OperationContext context, final ModelNode operation, final LogContextConfiguration logContextConfiguration, final String name, final ModelNode model) throws OperationFailedException { final String loggerName = getLogManagerLoggerName(name); LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName); if (configuration == null) { LoggingLogger.ROOT_LOGGER.tracef("Adding logger '%s' at '%s'", name, LoggingOperations.getAddress(operation)); configuration = logContextConfiguration.addLoggerConfiguration(loggerName); } for (AttributeDefinition attribute : attributes) { handleProperty(attribute, context, model, configuration); } } }
@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); performRuntime(context, operation, model, logContextConfiguration); addCommitStep(context, configurationPersistence); final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, model); if (afterCommit != null) { context.addStep(afterCommit, Stage.RUNTIME); } }
@Override public void performRuntime(final OperationContext context, final ModelNode operation, final LoggerConfiguration configuration, final String name, final ModelNode model) throws OperationFailedException { // Get the handler name final String handlerName = HANDLER_NAME.resolveModelAttribute(context, model).asString(); final String loggerName = getLogManagerLoggerName(name); if (configuration.getHandlerNames().contains(handlerName)) { throw createOperationFailure(LoggingMessages.MESSAGES.handlerAlreadyDefined(handlerName)); } LoggingLogger.ROOT_LOGGER.tracef("Adding handler '%s' to logger '%s' at '%s'", handlerName, getLogManagerLoggerName(loggerName), LoggingOperations.getAddress(operation)); configuration.addHandlerName(handlerName); } };
@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); performRuntime(context, operation, model, logContextConfiguration); addCommitStep(context, configurationPersistence); final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, model); if (afterCommit != null) { context.addStep(afterCommit, Stage.RUNTIME); } }
@Override public void handleResult(final ResultAction resultAction, final OperationContext context, final ModelNode operation) { if (resultAction == ResultAction.KEEP) { configurationPersistence.commit(); if (!LoggingProfileOperations.isLoggingProfileAddress(getAddress(operation))) { // Write once if (context.getAttachment(WRITTEN_KEY) == null) { context.attachIfAbsent(WRITTEN_KEY, Boolean.TRUE); if (persistConfig) { configurationPersistence.writeConfiguration(context); } } } } else if (resultAction == ResultAction.ROLLBACK) { configurationPersistence.rollback(); } } });
@Override protected final boolean applyUpdateToRuntime(final OperationContext context, final ModelNode operation, final String attributeName, final ModelNode resolvedValue, final ModelNode currentValue, final HandbackHolder<ConfigurationPersistence> handbackHolder) throws OperationFailedException { final String name = context.getCurrentAddressValue(); final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); handbackHolder.setHandback(configurationPersistence); final boolean restartRequired = applyUpdate(context, attributeName, name, resolvedValue, logContextConfiguration); addCommitStep(context, configurationPersistence); final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, attributeName, resolvedValue, currentValue); if (afterCommit != null && !restartRequired) { context.addStep(afterCommit, Stage.RUNTIME); } return restartRequired; }
@Override protected final boolean applyUpdateToRuntime(final OperationContext context, final ModelNode operation, final String attributeName, final ModelNode resolvedValue, final ModelNode currentValue, final HandbackHolder<ConfigurationPersistence> handbackHolder) throws OperationFailedException { final String name = context.getCurrentAddressValue(); final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); handbackHolder.setHandback(configurationPersistence); final boolean restartRequired = applyUpdate(context, attributeName, name, resolvedValue, logContextConfiguration); addCommitStep(context, configurationPersistence); final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, attributeName, resolvedValue, currentValue); if (afterCommit != null && !restartRequired) { context.addStep(afterCommit, Stage.RUNTIME); } return restartRequired; }
@Override public final void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); final Resource resource = context.readResourceForUpdate(PathAddress.EMPTY_ADDRESS); final ModelNode model = resource.getModel(); updateModel(context, operation, model); if (context.isNormalServer()) { context.addStep(new OperationStepHandler() { @Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { performRuntime(context, operation, model, logContextConfiguration); } }, Stage.RUNTIME); } addCommitStep(context, configurationPersistence); context.completeStep(new RollbackHandler() { @Override public void handleRollback(final OperationContext context, final ModelNode operation) { configurationPersistence.rollback(); } }); }
logContextConfiguration.removeHandlerConfiguration(name); LoggingOperations.addCommitStep(context, configurationPersistence); LoggingLogger.ROOT_LOGGER.trace("Logging subsystem has been added.");
@Override public final void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context); final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration(); final Resource resource = context.readResourceForUpdate(PathAddress.EMPTY_ADDRESS); final ModelNode model = resource.getModel(); updateModel(context, operation, model); if (context.isNormalServer()) { context.addStep(new OperationStepHandler() { @Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { performRuntime(context, operation, model, logContextConfiguration); } }, Stage.RUNTIME); } addCommitStep(context, configurationPersistence); context.completeStep(new RollbackHandler() { @Override public void handleRollback(final OperationContext context, final ModelNode operation) { configurationPersistence.rollback(); } }); }
LoggingOperations.addCommitStep(context, configurationPersistence); LoggingLogger.ROOT_LOGGER.trace("Logging subsystem has been added.");
LoggingOperations.addCommitStep(context, configurationPersistence); LoggingLogger.ROOT_LOGGER.trace("Logging subsystem has been added.");