Class UndertowConsumer

  • All Implemented Interfaces:
    io.undertow.server.HttpHandler, AutoCloseable, org.apache.camel.Consumer, org.apache.camel.EndpointAware, org.apache.camel.health.HealthCheckAware, 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

        BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, 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

        createExchange, createUoW, defaultConsumerCallback, doBuild, doInit, doneUoW, doShutdown, getAsyncProcessor, getExceptionHandler, getHealthCheck, getProcessor, getRoute, getRouteId, handleException, handleException, handleException, releaseExchange, setExceptionHandler, setHealthCheck, setRoute, setRouteId, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doFail, doLifecycleChange, 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