Class UndertowConsumer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultConsumer
org.apache.camel.component.undertow.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
  • Constructor Summary

    Constructors
    Constructor
    Description
    UndertowConsumer(UndertowEndpoint endpoint, org.apache.camel.Processor processor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
     
    void
    handleRequest(io.undertow.server.HttpServerExchange httpExchange)
     
    boolean
     
    boolean
     
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

    • UndertowConsumer

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

    • 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