Search in sources :

Example 1 with ThreadingParameters

use of org.apache.cxf.transport.http_undertow.ThreadingParameters in project cxf by apache.

the class HTTPUndertowTransportActivator method createThreadingParameters.

private ThreadingParameters createThreadingParameters(Dictionary<String, ?> d) {
    Enumeration<String> keys = d.keys();
    ThreadingParameters p = null;
    while (keys.hasMoreElements()) {
        String k = keys.nextElement();
        if (k.startsWith("threadingParameters.")) {
            if (p == null) {
                p = new ThreadingParameters();
            }
            String v = (String) d.get(k);
            k = k.substring("threadingParameters.".length());
            if ("minThreads".equals(k)) {
                p.setMinThreads(Integer.parseInt(v));
            } else if ("maxThreads".equals(k)) {
                p.setMaxThreads(Integer.parseInt(v));
            } else if ("workerIOThreads".equals(k)) {
                p.setWorkerIOThreads(Integer.parseInt(v));
            }
        }
    }
    return p;
}
Also used : ThreadingParameters(org.apache.cxf.transport.http_undertow.ThreadingParameters)

Example 2 with ThreadingParameters

use of org.apache.cxf.transport.http_undertow.ThreadingParameters in project cxf by apache.

the class UndertowSpringTypesFactory method toThreadingParameters.

private static ThreadingParameters toThreadingParameters(ThreadingParametersType paramtype) {
    ThreadingParameters params = new ThreadingParameters();
    params.setMaxThreads(paramtype.getMaxThreads());
    params.setMinThreads(paramtype.getMinThreads());
    params.setWorkerIOThreads(paramtype.getWorkerIOThreads());
    return params;
}
Also used : ThreadingParameters(org.apache.cxf.transport.http_undertow.ThreadingParameters)

Example 3 with ThreadingParameters

use of org.apache.cxf.transport.http_undertow.ThreadingParameters in project cxf by apache.

the class UndertowHTTPServerEngineFactoryHolder method init.

public void init() {
    try {
        Element element = StaxUtils.read(new StringReader(parsedElement)).getDocumentElement();
        UndertowHTTPServerEngineFactoryConfigType config = getJaxbObject(element, UndertowHTTPServerEngineFactoryConfigType.class);
        factory = new UndertowHTTPServerEngineFactory();
        Map<String, ThreadingParameters> threadingParametersMap = new TreeMap<String, ThreadingParameters>();
        if (config.getIdentifiedThreadingParameters() != null) {
            for (ThreadingParametersIdentifiedType threads : config.getIdentifiedThreadingParameters()) {
                ThreadingParameters rThreads = new ThreadingParameters();
                String id = threads.getId();
                rThreads.setMaxThreads(threads.getThreadingParameters().getMaxThreads());
                rThreads.setMinThreads(threads.getThreadingParameters().getMinThreads());
                rThreads.setWorkerIOThreads(threads.getThreadingParameters().getWorkerIOThreads());
                threadingParametersMap.put(id, rThreads);
            }
            factory.setThreadingParametersMap(threadingParametersMap);
        }
        // SSL
        Map<String, TLSServerParameters> sslMap = new TreeMap<String, TLSServerParameters>();
        if (config.getIdentifiedTLSServerParameters() != null) {
            for (TLSServerParametersIdentifiedType t : config.getIdentifiedTLSServerParameters()) {
                try {
                    TLSServerParameters parameter = new TLSServerParametersConfig(t.getTlsServerParameters());
                    sslMap.put(t.getId(), parameter);
                } catch (Exception e) {
                    throw new RuntimeException("Could not configure TLS for id " + t.getId(), e);
                }
            }
            factory.setTlsServerParametersMap(sslMap);
        }
        // Engines
        List<UndertowHTTPServerEngine> engineList = new ArrayList<>();
        for (UndertowHTTPServerEngineConfigType engine : config.getEngine()) {
            UndertowHTTPServerEngine eng = new UndertowHTTPServerEngine();
            if (engine.getHandlers() != null && handlersMap != null) {
                List<CXFUndertowHttpHandler> handlers = handlersMap.get(engine.getPort().toString());
                if (handlers != null) {
                    eng.setHandlers(handlers);
                } else {
                    throw new RuntimeException("Could not find the handlers instance for engine with port" + engine.getPort().toString());
                }
            }
            if (engine.isContinuationsEnabled() != null) {
                eng.setContinuationsEnabled(engine.isContinuationsEnabled());
            }
            if (engine.getHost() != null && !StringUtils.isEmpty(engine.getHost())) {
                eng.setHost(engine.getHost());
            }
            if (engine.getMaxIdleTime() != null) {
                eng.setMaxIdleTime(engine.getMaxIdleTime());
            }
            if (engine.getPort() != null) {
                eng.setPort(engine.getPort());
            }
            if (engine.getThreadingParameters() != null) {
                ThreadingParametersType threads = engine.getThreadingParameters();
                ThreadingParameters rThreads = new ThreadingParameters();
                rThreads.setMaxThreads(threads.getMaxThreads());
                rThreads.setMinThreads(threads.getMinThreads());
                rThreads.setWorkerIOThreads(threads.getWorkerIOThreads());
                eng.setThreadingParameters(rThreads);
            }
            if (engine.getTlsServerParameters() != null) {
                TLSServerParameters parameter = null;
                try {
                    parameter = new TLSServerParametersConfig(engine.getTlsServerParameters());
                    eng.setTlsServerParameters(parameter);
                } catch (Exception e) {
                    throw new RuntimeException("Could not configure TLS for engine on  " + eng.getHost() + ":" + eng.getPort(), e);
                }
            }
            eng.finalizeConfig();
            engineList.add(eng);
        }
        factory.setEnginesList(engineList);
        // Unravel this completely.
        factory.initComplete();
    } catch (Exception e) {
        throw new RuntimeException("Could not process configuration.", e);
    }
}
Also used : UndertowHTTPServerEngine(org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngine) ThreadingParameters(org.apache.cxf.transport.http_undertow.ThreadingParameters) ThreadingParametersType(org.apache.cxf.transports.http_undertow.configuration.ThreadingParametersType) JAXBElement(javax.xml.bind.JAXBElement) Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList) UndertowHTTPServerEngineFactoryConfigType(org.apache.cxf.transports.http_undertow.configuration.UndertowHTTPServerEngineFactoryConfigType) TreeMap(java.util.TreeMap) TLSServerParameters(org.apache.cxf.configuration.jsse.TLSServerParameters) TLSServerParametersConfig(org.apache.cxf.configuration.jsse.TLSServerParametersConfig) JAXBException(javax.xml.bind.JAXBException) CXFUndertowHttpHandler(org.apache.cxf.transport.http_undertow.CXFUndertowHttpHandler) UndertowHTTPServerEngineFactory(org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngineFactory) ThreadingParametersIdentifiedType(org.apache.cxf.transports.http_undertow.configuration.ThreadingParametersIdentifiedType) UndertowHTTPServerEngineConfigType(org.apache.cxf.transports.http_undertow.configuration.UndertowHTTPServerEngineConfigType) StringReader(java.io.StringReader) TLSServerParametersIdentifiedType(org.apache.cxf.transports.http_undertow.configuration.TLSServerParametersIdentifiedType)

Example 4 with ThreadingParameters

use of org.apache.cxf.transport.http_undertow.ThreadingParameters in project cxf by apache.

the class HTTPUndertowTransportActivator method configure.

private void configure(UndertowHTTPServerEngine e, Dictionary<String, ?> properties) {
    ThreadingParameters threading = createThreadingParameters(properties);
    if (threading != null) {
        e.setThreadingParameters(threading);
    }
    Enumeration<String> keys = properties.keys();
    while (keys.hasMoreElements()) {
        String k = keys.nextElement();
        if ("continuationsEnabled".equals(k)) {
            e.setContinuationsEnabled(Boolean.parseBoolean((String) properties.get(k)));
        } else if ("maxIdleTime".equals(k)) {
            e.setMaxIdleTime(Integer.parseInt((String) properties.get(k)));
        }
    }
}
Also used : ThreadingParameters(org.apache.cxf.transport.http_undertow.ThreadingParameters)

Example 5 with ThreadingParameters

use of org.apache.cxf.transport.http_undertow.ThreadingParameters in project cxf by apache.

the class UndertowSpringTypesFactory method toThreadingParameters.

private static Map<String, ThreadingParameters> toThreadingParameters(List<ThreadingParametersIdentifiedType> list) {
    Map<String, ThreadingParameters> map = new TreeMap<String, ThreadingParameters>();
    for (ThreadingParametersIdentifiedType t : list) {
        ThreadingParameters parameter = toThreadingParameters(t.getThreadingParameters());
        map.put(t.getId(), parameter);
    }
    return map;
}
Also used : ThreadingParameters(org.apache.cxf.transport.http_undertow.ThreadingParameters) ThreadingParametersIdentifiedType(org.apache.cxf.transports.http_undertow.configuration.ThreadingParametersIdentifiedType) TreeMap(java.util.TreeMap)

Aggregations

ThreadingParameters (org.apache.cxf.transport.http_undertow.ThreadingParameters)5 TreeMap (java.util.TreeMap)2 ThreadingParametersIdentifiedType (org.apache.cxf.transports.http_undertow.configuration.ThreadingParametersIdentifiedType)2 StringReader (java.io.StringReader)1 ArrayList (java.util.ArrayList)1 JAXBElement (javax.xml.bind.JAXBElement)1 JAXBException (javax.xml.bind.JAXBException)1 TLSServerParameters (org.apache.cxf.configuration.jsse.TLSServerParameters)1 TLSServerParametersConfig (org.apache.cxf.configuration.jsse.TLSServerParametersConfig)1 CXFUndertowHttpHandler (org.apache.cxf.transport.http_undertow.CXFUndertowHttpHandler)1 UndertowHTTPServerEngine (org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngine)1 UndertowHTTPServerEngineFactory (org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngineFactory)1 TLSServerParametersIdentifiedType (org.apache.cxf.transports.http_undertow.configuration.TLSServerParametersIdentifiedType)1 ThreadingParametersType (org.apache.cxf.transports.http_undertow.configuration.ThreadingParametersType)1 UndertowHTTPServerEngineConfigType (org.apache.cxf.transports.http_undertow.configuration.UndertowHTTPServerEngineConfigType)1 UndertowHTTPServerEngineFactoryConfigType (org.apache.cxf.transports.http_undertow.configuration.UndertowHTTPServerEngineFactoryConfigType)1 Element (org.w3c.dom.Element)1