Class CamelServlet

java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.apache.camel.http.common.CamelServlet
All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable, HttpRegistryProvider

public class CamelServlet extends jakarta.servlet.http.HttpServlet implements HttpRegistryProvider
A servlet to use as a Camel route as entry.
See Also:
  • Field Details

  • Constructor Details

    • CamelServlet

      public CamelServlet()
  • Method Details

    • init

      public void init(jakarta.servlet.ServletConfig config) throws jakarta.servlet.ServletException
      Specified by:
      init in interface jakarta.servlet.Servlet
      Overrides:
      init in class jakarta.servlet.http.HttpServlet
      Throws:
      jakarta.servlet.ServletException
    • service

      protected void service(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Overrides:
      service in class jakarta.servlet.http.HttpServlet
    • handleService

      protected void handleService(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp) throws jakarta.servlet.ServletException, IOException
      Throws:
      jakarta.servlet.ServletException
      IOException
    • getExecutorService

      protected Executor getExecutorService(HttpConsumer consumer)
    • doServiceAsync

      protected void doServiceAsync(jakarta.servlet.AsyncContext context)
      This is used to handle request asynchronously
      Parameters:
      context - the AsyncContext
    • doService

      protected void doService(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException
      This is the logical implementation to handle request with CamelServlet This is where most exceptions should be handled
      Parameters:
      request - the HttpServletRequest
      response - the HttpServletResponse
      Throws:
      jakarta.servlet.ServletException
      IOException
    • afterProcess

      protected void afterProcess(jakarta.servlet.http.HttpServletResponse res, HttpConsumer consumer, org.apache.camel.Exchange exchange, boolean rethrow) throws IOException, jakarta.servlet.ServletException
      Throws:
      IOException
      jakarta.servlet.ServletException
    • resolve

      @Deprecated protected HttpConsumer resolve(jakarta.servlet.http.HttpServletRequest request)
    • connect

      public void connect(HttpConsumer consumer)
      Specified by:
      connect in interface HttpRegistryProvider
    • disconnect

      public void disconnect(HttpConsumer consumer)
      Specified by:
      disconnect in interface HttpRegistryProvider
    • getServletName

      public String getServletName()
      Specified by:
      getServletName in interface HttpRegistryProvider
      Specified by:
      getServletName in interface jakarta.servlet.ServletConfig
      Overrides:
      getServletName in class jakarta.servlet.GenericServlet
    • setServletName

      public void setServletName(String servletName)
    • getServletResolveConsumerStrategy

      public ServletResolveConsumerStrategy getServletResolveConsumerStrategy()
    • setServletResolveConsumerStrategy

      public void setServletResolveConsumerStrategy(ServletResolveConsumerStrategy servletResolveConsumerStrategy)
    • isAsync

      public boolean isAsync()
    • setAsync

      public void setAsync(boolean async)
    • getConsumers

      public Map<String,HttpConsumer> getConsumers()
    • overrideTccl

      protected ClassLoader overrideTccl(org.apache.camel.Exchange exchange)
      Override the Thread Context ClassLoader if need be.
      Returns:
      old classloader if overridden; otherwise returns null
    • restoreTccl

      protected void restoreTccl(org.apache.camel.Exchange exchange, ClassLoader oldTccl)
      Restore the Thread Context ClassLoader if the old TCCL is not null.