Search in sources :

Example 61 with Config

use of com.sun.enterprise.config.serverbeans.Config in project Payara by payara.

the class GetPayaraExecutorServiceConfigurationCommand method execute.

@Override
public void execute(AdminCommandContext acc) {
    Config configNode = targetUtil.getConfig(target);
    PayaraExecutorServiceConfiguration payaraExecutorServiceConfiguration = configNode.getExtensionByType(PayaraExecutorServiceConfiguration.class);
    ColumnFormatter columnFormatter = new ColumnFormatter(HEADERS);
    Object[] values = { payaraExecutorServiceConfiguration.getThreadPoolExecutorCorePoolSize(), payaraExecutorServiceConfiguration.getThreadPoolExecutorMaxPoolSize(), payaraExecutorServiceConfiguration.getThreadPoolExecutorKeepAliveTime(), payaraExecutorServiceConfiguration.getThreadPoolExecutorKeepAliveTimeUnit(), payaraExecutorServiceConfiguration.getThreadPoolExecutorQueueSize(), payaraExecutorServiceConfiguration.getScheduledThreadPoolExecutorCorePoolSize() };
    columnFormatter.addRow(values);
    Map<String, Object> map = new HashMap<>();
    Properties extraProps = new Properties();
    map.put("threadPoolExecutorCorePoolSize", values[0]);
    map.put("threadPoolExecutorMaxPoolSize", values[1]);
    map.put("threadPoolExecutorKeepAliveTime", values[2]);
    map.put("threadPoolExecutorKeepAliveTimeUnit", values[3]);
    map.put("threadPoolExecutorQueueSize", values[4]);
    map.put("scheduledThreadPoolExecutorCorePoolSize", values[5]);
    extraProps.put("payaraExecutorServiceConfiguration", map);
    acc.getActionReport().setExtraProperties(extraProps);
    acc.getActionReport().setMessage(columnFormatter.toString());
}
Also used : PayaraExecutorServiceConfiguration(fish.payara.nucleus.executorservice.PayaraExecutorServiceConfiguration) HashMap(java.util.HashMap) Config(com.sun.enterprise.config.serverbeans.Config) Properties(java.util.Properties) ColumnFormatter(com.sun.enterprise.util.ColumnFormatter)

Example 62 with Config

use of com.sun.enterprise.config.serverbeans.Config in project Payara by payara.

the class GetRequestTracingConfiguration method execute.

@Override
public void execute(AdminCommandContext context) {
    Config config = targetUtil.getConfig(target);
    if (config == null) {
        context.getActionReport().setMessage("No such config named: " + target);
        context.getActionReport().setActionExitCode(ActionReport.ExitCode.FAILURE);
        return;
    }
    ActionReport mainActionReport = context.getActionReport();
    RequestTracingServiceConfiguration configuration = config.getExtensionByType(RequestTracingServiceConfiguration.class);
    writeVariableToActionReport(mainActionReport, "Enabled?", configuration.getEnabled());
    if (Boolean.parseBoolean(configuration.getEnabled())) {
        writeVariableToActionReport(mainActionReport, "Sample Rate", configuration.getSampleRate());
        // Print adaptive sampling details
        writeVariableToActionReport(mainActionReport, "Adaptive Sampling Enabled?", configuration.getAdaptiveSamplingEnabled());
        if (Boolean.parseBoolean(configuration.getAdaptiveSamplingEnabled())) {
            writeVariableToActionReport(mainActionReport, "Adaptive Sampling Target Count", configuration.getAdaptiveSamplingTargetCount());
            writeVariableToActionReport(mainActionReport, "Adaptive Sampling Time Value", configuration.getAdaptiveSamplingTimeValue());
            writeVariableToActionReport(mainActionReport, "Adaptive Sampling Time Unit", configuration.getAdaptiveSamplingTimeUnit());
        }
        // Print filter details
        writeVariableToActionReport(mainActionReport, "Application Only?", configuration.getApplicationsOnlyEnabled());
        writeVariableToActionReport(mainActionReport, "Threshold Value", configuration.getThresholdValue());
        writeVariableToActionReport(mainActionReport, "Threshold Unit", configuration.getThresholdUnit());
        writeVariableToActionReport(mainActionReport, "Sample Rate First?", configuration.getSampleRateFirstEnabled());
        // Print trace store details
        writeVariableToActionReport(mainActionReport, "Reservoir Sampling Enabled?", configuration.getReservoirSamplingEnabled());
        writeVariableToActionReport(mainActionReport, "Trace Store Size", configuration.getTraceStoreSize());
        if (!Strings.isNullOrEmpty(configuration.getTraceStoreTimeout())) {
            writeVariableToActionReport(mainActionReport, "Trace Store Timeout (secs)", configuration.getTraceStoreTimeout());
        }
        // Print historic trace store details
        writeVariableToActionReport(mainActionReport, "Historic Trace Store Enabled?", configuration.getHistoricTraceStoreEnabled());
        if (Boolean.parseBoolean(configuration.getHistoricTraceStoreEnabled())) {
            writeVariableToActionReport(mainActionReport, "Historic Trace Store Size", configuration.getHistoricTraceStoreSize());
            if (!Strings.isNullOrEmpty(configuration.getHistoricTraceStoreTimeout())) {
                writeVariableToActionReport(mainActionReport, "Historic Trace Store Timeout (secs)", configuration.getHistoricTraceStoreTimeout());
            }
        }
    }
    // Create the extraProps for the general request tracing configuration
    Properties mainExtraProps = new Properties();
    Map<String, Object> mainExtraPropsMap = new HashMap<>();
    mainExtraPropsMap.put("enabled", configuration.getEnabled());
    mainExtraPropsMap.put("sampleRate", configuration.getSampleRate());
    mainExtraPropsMap.put("adaptiveSamplingEnabled", configuration.getAdaptiveSamplingEnabled());
    mainExtraPropsMap.put("adaptiveSamplingTargetCount", configuration.getAdaptiveSamplingTargetCount());
    mainExtraPropsMap.put("adaptiveSamplingTimeValue", configuration.getAdaptiveSamplingTimeValue());
    mainExtraPropsMap.put("adaptiveSamplingTimeUnit", configuration.getAdaptiveSamplingTimeUnit());
    mainExtraPropsMap.put("applicationsOnlyEnabled", configuration.getApplicationsOnlyEnabled());
    mainExtraPropsMap.put("thresholdValue", configuration.getThresholdValue());
    mainExtraPropsMap.put("thresholdUnit", configuration.getThresholdUnit());
    mainExtraPropsMap.put("sampleRateFirstEnabled", configuration.getSampleRateFirstEnabled());
    mainExtraPropsMap.put("traceStoreSize", configuration.getTraceStoreSize());
    mainExtraPropsMap.put("traceStoreTimeout", configuration.getTraceStoreTimeout());
    mainExtraPropsMap.put("reservoirSamplingEnabled", configuration.getReservoirSamplingEnabled());
    mainExtraPropsMap.put("historicTraceStoreEnabled", configuration.getHistoricTraceStoreEnabled());
    mainExtraPropsMap.put("historicTraceStoreSize", configuration.getHistoricTraceStoreSize());
    mainExtraPropsMap.put("historicTraceStoreTimeout", configuration.getHistoricTraceStoreTimeout());
    mainExtraProps.put("requestTracingConfiguration", mainExtraPropsMap);
    mainActionReport.setExtraProperties(mainExtraProps);
    mainActionReport.appendMessage("Below are the configuration details of each notifier listed by its name.");
    mainActionReport.appendMessage(StringUtils.EOL);
    ActionReport notifiersActionReport = mainActionReport.addSubActionsReport();
    List<ServiceHandle<BaseNotifierService>> allServiceHandles = habitat.getAllServiceHandles(BaseNotifierService.class);
    if (configuration.getNotifierList().isEmpty()) {
        notifiersActionReport.setMessage("No notifier defined");
    } else {
        String[] headers = { "Notifier Name", "Notifier Enabled" };
        ColumnFormatter columnFormatter = new ColumnFormatter(headers);
        List<Class<Notifier>> notifierClassList = Lists.transform(configuration.getNotifierList(), new Function<Notifier, Class<Notifier>>() {

            @Override
            public Class<Notifier> apply(Notifier input) {
                return resolveNotifierClass(input);
            }
        });
        Properties notifierExtraProps = new Properties();
        for (ServiceHandle<BaseNotifierService> serviceHandle : allServiceHandles) {
            Notifier notifier = configuration.getNotifierByType(serviceHandle.getService().getNotifierType());
            if (notifier != null) {
                ConfigView view = ConfigSupport.getImpl(notifier);
                NotifierConfigurationType annotation = view.getProxyType().getAnnotation(NotifierConfigurationType.class);
                if (notifierClassList.contains(view.<Notifier>getProxyType())) {
                    Object[] values = new Object[2];
                    values[0] = serviceHandle.getActiveDescriptor().getName();
                    values[1] = notifier.getEnabled();
                    columnFormatter.addRow(values);
                    Map<String, Object> notifierExtraPropsMap = new HashMap<>();
                    notifierExtraPropsMap.put("notifierName", values[0]);
                    notifierExtraPropsMap.put("notifierEnabled", values[1]);
                    notifierExtraProps.put("getRequesttracingConfiguration" + annotation.type(), notifierExtraPropsMap);
                    notifiersActionReport.setExtraProperties(notifierExtraProps);
                }
            }
        }
        notifiersActionReport.setMessage(columnFormatter.toString());
    }
    mainActionReport.setActionExitCode(ActionReport.ExitCode.SUCCESS);
}
Also used : NotifierConfigurationType(fish.payara.nucleus.notification.configuration.NotifierConfigurationType) HashMap(java.util.HashMap) ConfigView(org.jvnet.hk2.config.ConfigView) Config(com.sun.enterprise.config.serverbeans.Config) ActionReport(org.glassfish.api.ActionReport) Properties(java.util.Properties) BaseNotifierService(fish.payara.nucleus.notification.service.BaseNotifierService) ServiceHandle(org.glassfish.hk2.api.ServiceHandle) RequestTracingServiceConfiguration(fish.payara.nucleus.requesttracing.configuration.RequestTracingServiceConfiguration) ColumnFormatter(com.sun.enterprise.util.ColumnFormatter) Notifier(fish.payara.nucleus.notification.configuration.Notifier)

Example 63 with Config

use of com.sun.enterprise.config.serverbeans.Config in project Payara by payara.

the class BaseRequestTracingNotifierConfigurer method execute.

@Override
public void execute(AdminCommandContext context) {
    final ActionReport actionReport = context.getActionReport();
    Properties extraProperties = actionReport.getExtraProperties();
    if (extraProperties == null) {
        extraProperties = new Properties();
        actionReport.setExtraProperties(extraProperties);
    }
    Config config = targetUtil.getConfig(target);
    final RequestTracingServiceConfiguration configuration = config.getExtensionByType(RequestTracingServiceConfiguration.class);
    ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
    notifierClass = (Class<C>) genericSuperclass.getActualTypeArguments()[0];
    C c = configuration.getNotifierByType(notifierClass);
    try {
        if (c == null) {
            ConfigSupport.apply(new SingleConfigCode<RequestTracingServiceConfiguration>() {

                @Override
                public Object run(final RequestTracingServiceConfiguration configurationProxy) throws PropertyVetoException, TransactionFailure {
                    C c = configurationProxy.createChild(notifierClass);
                    applyValues(c);
                    configurationProxy.getNotifierList().add(c);
                    actionReport.setActionExitCode(ActionReport.ExitCode.SUCCESS);
                    return configurationProxy;
                }
            }, configuration);
        } else {
            ConfigSupport.apply(new SingleConfigCode<C>() {

                public Object run(C cProxy) throws PropertyVetoException, TransactionFailure {
                    applyValues(cProxy);
                    actionReport.setActionExitCode(ActionReport.ExitCode.SUCCESS);
                    return cProxy;
                }
            }, c);
        }
        if (dynamic) {
            if (server.isDas()) {
                if (targetUtil.getConfig(target).isDas()) {
                    configureDynamically();
                }
            } else {
                configureDynamically();
            }
        }
    } catch (TransactionFailure ex) {
        logger.log(Level.WARNING, "Exception during command ", ex);
        actionReport.setMessage(ex.getCause().getMessage());
        actionReport.setActionExitCode(ActionReport.ExitCode.FAILURE);
    }
}
Also used : ParameterizedType(java.lang.reflect.ParameterizedType) PropertyVetoException(java.beans.PropertyVetoException) TransactionFailure(org.jvnet.hk2.config.TransactionFailure) Config(com.sun.enterprise.config.serverbeans.Config) ActionReport(org.glassfish.api.ActionReport) Properties(java.util.Properties) RequestTracingServiceConfiguration(fish.payara.nucleus.requesttracing.configuration.RequestTracingServiceConfiguration)

Example 64 with Config

use of com.sun.enterprise.config.serverbeans.Config in project Payara by payara.

the class GetExampleServiceMessageCommand method execute.

/**
 * This method is called when the command is executed
 * @param context
 */
@Override
public void execute(AdminCommandContext context) {
    // obtain the correct configuration
    Config configNode = targetUtil.getConfig(config);
    ExampleServiceConfiguration serviceConfig = configNode.getExtensionByType(ExampleServiceConfiguration.class);
    // add return message
    context.getActionReport().setMessage("Example Service message is " + serviceConfig.getMessage());
}
Also used : ExampleServiceConfiguration(fish.payara.service.example.config.ExampleServiceConfiguration) Config(com.sun.enterprise.config.serverbeans.Config)

Example 65 with Config

use of com.sun.enterprise.config.serverbeans.Config in project Payara by payara.

the class SystemTasksImpl method getConfigSystemProperties.

private List<SystemProperty> getConfigSystemProperties() {
    try {
        String configName = server.getConfigRef();
        Configs configs = domain.getConfigs();
        List<Config> configsList = configs.getConfig();
        Config config = null;
        for (Config c : configsList) {
            if (c.getName().equals(configName)) {
                config = c;
                break;
            }
        }
        return (List<SystemProperty>) (config != null ? config.getSystemProperty() : Collections.emptyList());
    } catch (Exception e) {
        // possible NPE if domain.xml has issues!
        return Collections.emptyList();
    }
}
Also used : JavaConfig(com.sun.enterprise.config.serverbeans.JavaConfig) Config(com.sun.enterprise.config.serverbeans.Config) Configs(com.sun.enterprise.config.serverbeans.Configs) List(java.util.List)

Aggregations

Config (com.sun.enterprise.config.serverbeans.Config)152 ActionReport (org.glassfish.api.ActionReport)73 TransactionFailure (org.jvnet.hk2.config.TransactionFailure)50 PropertyVetoException (java.beans.PropertyVetoException)34 Target (org.glassfish.internal.api.Target)31 CommandTarget (org.glassfish.config.support.CommandTarget)30 Properties (java.util.Properties)28 NetworkConfig (org.glassfish.grizzly.config.dom.NetworkConfig)23 Protocol (org.glassfish.grizzly.config.dom.Protocol)20 HashMap (java.util.HashMap)17 Server (com.sun.enterprise.config.serverbeans.Server)15 NetworkListener (org.glassfish.grizzly.config.dom.NetworkListener)15 Logger (java.util.logging.Logger)14 ColumnFormatter (com.sun.enterprise.util.ColumnFormatter)13 Protocols (org.glassfish.grizzly.config.dom.Protocols)12 ArrayList (java.util.ArrayList)11 List (java.util.List)11 BlockingQueueHandler (fish.payara.nucleus.notification.BlockingQueueHandler)10 Level (java.util.logging.Level)10 LogRecord (java.util.logging.LogRecord)10