Class UndertowConsumer

  • All Implemented Interfaces:
    io.undertow.server.HttpHandler, AutoCloseable, org.apache.camel.Consumer, org.apache.camel.EndpointAware, org.apache.camel.RouteAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.RouteIdAware, org.apache.camel.StatefulService, org.apache.camel.Suspendable, org.apache.camel.SuspendableService

    public class UndertowConsumer
    extends org.apache.camel.support.DefaultConsumer
    implements io.undertow.server.HttpHandler, org.apache.camel.Suspendable
    The Undertow consumer which is also an Undertow HttpHandler implementation to handle incoming request.
    • Field Summary

      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILDED, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTINGDOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      List<String> computeAllowedRoles()  
      protected void doResume()  
      protected void doStart()  
      protected void doStop()  
      protected void doSuspend()  
      UndertowEndpoint getEndpoint()  
      void handleRequest​(io.undertow.server.HttpServerExchange httpExchange)  
      boolean isRest()  
      boolean isSuspended()  
      void sendEventNotification​(String connectionKey, io.undertow.websockets.spi.WebSocketHttpExchange transportExchange, io.undertow.websockets.core.WebSocketChannel channel, UndertowConstants.EventType eventType)
      Send a notification related a WebSocket peer.
      void sendMessage​(String connectionKey, io.undertow.websockets.core.WebSocketChannel channel, Object message)
      Create an Exchange from the associated UndertowEndpoint and set the in Message's body to the given message and UndertowConstants.CONNECTION_KEY header to the given connectionKey.
      void setRest​(boolean rest)  
      • Methods inherited from class org.apache.camel.support.DefaultConsumer

        createUoW, doInit, doneUoW, getAsyncProcessor, getExceptionHandler, getProcessor, getRoute, getRouteId, handleException, handleException, setExceptionHandler, setRoute, setRouteId, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doLifecycleChange, doShutdown, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        resume, suspend
    • Constructor Detail

      • UndertowConsumer

        public UndertowConsumer​(UndertowEndpoint endpoint,
                                org.apache.camel.Processor processor)
    • Method Detail

      • isRest

        public boolean isRest()
      • setRest

        public void setRest​(boolean rest)
      • getEndpoint

        public UndertowEndpoint getEndpoint()
        Specified by:
        getEndpoint in interface org.apache.camel.EndpointAware
        Overrides:
        getEndpoint in class org.apache.camel.support.DefaultConsumer
      • computeAllowedRoles

        public List<String> computeAllowedRoles()
      • doStart

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

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

        protected void doSuspend()
                          throws Exception
        Overrides:
        doSuspend in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doResume

        protected void doResume()
                         throws Exception
        Overrides:
        doResume in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • isSuspended

        public boolean isSuspended()
        Specified by:
        isSuspended in interface org.apache.camel.SuspendableService
        Overrides:
        isSuspended in class org.apache.camel.support.service.BaseService
      • handleRequest

        public void handleRequest​(io.undertow.server.HttpServerExchange httpExchange)
                           throws Exception
        Specified by:
        handleRequest in interface io.undertow.server.HttpHandler
        Throws:
        Exception
      • sendMessage

        public void sendMessage​(String connectionKey,
                                io.undertow.websockets.core.WebSocketChannel channel,
                                Object message)
        Create an Exchange from the associated UndertowEndpoint and set the in Message's body to the given message and UndertowConstants.CONNECTION_KEY header to the given connectionKey.
        Parameters:
        connectionKey - an identifier of WebSocketChannel through which the message was received
        channel - the WebSocketChannel through which the message was received
        message - the message received via the WebSocketChannel
      • sendEventNotification

        public void sendEventNotification​(String connectionKey,
                                          io.undertow.websockets.spi.WebSocketHttpExchange transportExchange,
                                          io.undertow.websockets.core.WebSocketChannel channel,
                                          UndertowConstants.EventType eventType)
        Send a notification related a WebSocket peer.
        Parameters:
        connectionKey - of WebSocket peer
        transportExchange - the exchange for the websocket transport, only available for ON_OPEN events
        channel - the WebSocketChannel through which the message was received
        eventType - the type of the event