Class WebsocketComponent

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Component, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.SSLContextParametersAware, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @Component("websocket")
    public class WebsocketComponent
    extends org.apache.camel.support.DefaultComponent
    implements org.apache.camel.SSLContextParametersAware
    • Field Detail

      • LOG

        protected static final org.slf4j.Logger LOG
      • CONNECTORS

        protected static final HashMap<String,​org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef> CONNECTORS
      • staticResourcesServer

        protected org.eclipse.jetty.server.Server staticResourcesServer
      • mbContainer

        protected org.eclipse.jetty.jmx.MBeanContainer mbContainer
      • sslContextParameters

        @Metadata(label="security")
        protected org.apache.camel.support.jsse.SSLContextParameters sslContextParameters
      • useGlobalSslContextParameters

        @Metadata(label="security",
                  defaultValue="false")
        protected boolean useGlobalSslContextParameters
      • threadPool

        @Metadata(label="advanced")
        protected org.eclipse.jetty.util.thread.ThreadPool threadPool
      • port

        @Metadata(defaultValue="9292")
        protected Integer port
      • minThreads

        @Metadata(label="advanced")
        protected Integer minThreads
      • maxThreads

        @Metadata(label="advanced")
        protected Integer maxThreads
      • enableJmx

        @Metadata(label="advanced")
        protected boolean enableJmx
      • host

        @Metadata(defaultValue="0.0.0.0")
        protected String host
      • staticResources

        @Metadata(label="consumer")
        protected String staticResources
      • sslKeyPassword

        @Metadata(label="security",
                  secret=true)
        protected String sslKeyPassword
      • sslPassword

        @Metadata(label="security",
                  secret=true)
        protected String sslPassword
      • sslKeystore

        @Metadata(label="security",
                  secret=true)
        protected String sslKeystore
    • Constructor Detail

      • WebsocketComponent

        public WebsocketComponent()
    • Method Detail

      • getMbContainer

        public org.eclipse.jetty.jmx.MBeanContainer getMbContainer()
      • createEndpoint

        protected org.apache.camel.Endpoint createEndpoint​(String uri,
                                                           String remaining,
                                                           Map<String,​Object> parameters)
                                                    throws Exception
        Specified by:
        createEndpoint in class org.apache.camel.support.DefaultComponent
        Throws:
        Exception
      • setWebSocketComponentServletInitialParameter

        protected void setWebSocketComponentServletInitialParameter​(org.eclipse.jetty.servlet.ServletContextHandler context,
                                                                    WebsocketEndpoint endpoint)
      • createServer

        protected org.eclipse.jetty.server.Server createServer()
                                                        throws Exception
        Throws:
        Exception
      • createStaticResourcesServer

        protected org.eclipse.jetty.server.Server createStaticResourcesServer​(org.eclipse.jetty.server.Server server,
                                                                              org.eclipse.jetty.servlet.ServletContextHandler context,
                                                                              String home)
                                                                       throws Exception
        Throws:
        Exception
      • createStaticResourcesServer

        protected org.eclipse.jetty.server.Server createStaticResourcesServer​(org.eclipse.jetty.servlet.ServletContextHandler context,
                                                                              String host,
                                                                              int port,
                                                                              String home)
                                                                       throws Exception
        Throws:
        Exception
      • createContext

        protected org.eclipse.jetty.servlet.ServletContextHandler createContext​(org.eclipse.jetty.server.Server server,
                                                                                org.eclipse.jetty.server.Connector connector,
                                                                                List<org.eclipse.jetty.server.Handler> handlers)
                                                                         throws Exception
        Throws:
        Exception
      • createPathSpec

        public static String createPathSpec​(String remaining)
      • getStaticResources

        public String getStaticResources()
      • setStaticResources

        public void setStaticResources​(String staticResources)
        Set a resource path for static resources (such as .html files etc).

        The resources can be loaded from classpath, if you prefix with classpath:, otherwise the resources is loaded from file system or from JAR files.

        For example to load from root classpath use classpath:., or classpath:WEB-INF/static

        If not configured (eg null) then no static resource is in use.

      • getHost

        public String getHost()
      • setHost

        public void setHost​(String host)
        The hostname. The default value is 0.0.0.0
      • getPort

        public Integer getPort()
      • setPort

        public void setPort​(Integer port)
        The port number. The default value is 9292
      • getSslKeyPassword

        public String getSslKeyPassword()
      • getSslPassword

        public String getSslPassword()
      • getSslKeystore

        public String getSslKeystore()
      • setSslKeyPassword

        public void setSslKeyPassword​(String sslKeyPassword)
        The password for the keystore when using SSL.
      • setSslPassword

        public void setSslPassword​(String sslPassword)
        The password when using SSL.
      • setSslKeystore

        public void setSslKeystore​(String sslKeystore)
        The path to the keystore.
      • setEnableJmx

        public void setEnableJmx​(boolean enableJmx)
        If this option is true, Jetty JMX support will be enabled for this endpoint. See Jetty JMX support for more details.
      • isEnableJmx

        public boolean isEnableJmx()
      • getMinThreads

        public Integer getMinThreads()
      • setMinThreads

        public void setMinThreads​(Integer minThreads)
        To set a value for minimum number of threads in server thread pool. MaxThreads/minThreads or threadPool fields are required due to switch to Jetty9. The default values for minThreads is 1.
      • getMaxThreads

        public Integer getMaxThreads()
      • setMaxThreads

        public void setMaxThreads​(Integer maxThreads)
        To set a value for maximum number of threads in server thread pool. MaxThreads/minThreads or threadPool fields are required due to switch to Jetty9. The default values for maxThreads is 1 + 2 * noCores.
      • getThreadPool

        public org.eclipse.jetty.util.thread.ThreadPool getThreadPool()
      • setThreadPool

        public void setThreadPool​(org.eclipse.jetty.util.thread.ThreadPool threadPool)
        To use a custom thread pool for the server. MaxThreads/minThreads or threadPool fields are required due to switch to Jetty9.
      • getSslContextParameters

        public org.apache.camel.support.jsse.SSLContextParameters getSslContextParameters()
      • setSslContextParameters

        public void setSslContextParameters​(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters)
        To configure security using SSLContextParameters
      • isUseGlobalSslContextParameters

        public boolean isUseGlobalSslContextParameters()
        Specified by:
        isUseGlobalSslContextParameters in interface org.apache.camel.SSLContextParametersAware
      • setUseGlobalSslContextParameters

        public void setUseGlobalSslContextParameters​(boolean useGlobalSslContextParameters)
        Enable usage of global SSL context parameters.
        Specified by:
        setUseGlobalSslContextParameters in interface org.apache.camel.SSLContextParametersAware
      • setSocketFactory

        public void setSocketFactory​(Map<String,​WebSocketFactory> socketFactory)
        To configure a map which contains custom WebSocketFactory for sub protocols. The key in the map is the sub protocol.

        The default key is reserved for the default implementation.

      • getConnectors

        public static HashMap<String,​org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef> getConnectors()
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.apache.camel.support.DefaultComponent
        Throws:
        Exception
      • doStop

        public void doStop()
                    throws Exception
        Overrides:
        doStop in class org.apache.camel.support.DefaultComponent
        Throws:
        Exception