Package org.apache.camel.http.common
Class CamelServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.apache.camel.http.common.CamelServlet
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,HttpRegistryProvider
A servlet to use as a Camel route as entry.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
afterProcess
(javax.servlet.http.HttpServletResponse res, HttpConsumer consumer, org.apache.camel.Exchange exchange, boolean rethrow) void
connect
(HttpConsumer consumer) void
disconnect
(HttpConsumer consumer) protected void
doService
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) This is the logical implementation to handle request withCamelServlet
This is where most exceptions should be handledprotected void
doServiceAsync
(javax.servlet.AsyncContext context) This is used to handle request asynchronouslyprotected Executor
getExecutorService
(HttpConsumer consumer) protected void
handleService
(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) void
init
(javax.servlet.ServletConfig config) boolean
isAsync()
protected ClassLoader
overrideTccl
(org.apache.camel.Exchange exchange) Override the Thread Context ClassLoader if need be.protected HttpConsumer
resolve
(javax.servlet.http.HttpServletRequest request) Deprecated.protected void
restoreTccl
(org.apache.camel.Exchange exchange, ClassLoader oldTccl) Restore the Thread Context ClassLoader if the old TCCL is not null.protected void
service
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) void
setAsync
(boolean async) void
setServletName
(String servletName) void
setServletResolveConsumerStrategy
(ServletResolveConsumerStrategy servletResolveConsumerStrategy) Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, init, log, log
-
Field Details
-
ASYNC_PARAM
- See Also:
-
FORCE_AWAIT_PARAM
- See Also:
-
EXECUTOR_REF_PARAM
- See Also:
-
METHODS
-
log
protected final org.slf4j.Logger log
-
-
Constructor Details
-
CamelServlet
public CamelServlet()
-
-
Method Details
-
init
public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException - Specified by:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
-
service
protected void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) - Overrides:
service
in classjavax.servlet.http.HttpServlet
-
handleService
protected void handleService(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException - Throws:
javax.servlet.ServletException
IOException
-
getExecutorService
-
doServiceAsync
protected void doServiceAsync(javax.servlet.AsyncContext context) This is used to handle request asynchronously- Parameters:
context
- theAsyncContext
-
doService
protected void doService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException This is the logical implementation to handle request withCamelServlet
This is where most exceptions should be handled- Parameters:
request
- theHttpServletRequest
response
- theHttpServletResponse
- Throws:
javax.servlet.ServletException
IOException
-
afterProcess
protected void afterProcess(javax.servlet.http.HttpServletResponse res, HttpConsumer consumer, org.apache.camel.Exchange exchange, boolean rethrow) throws IOException, javax.servlet.ServletException - Throws:
IOException
javax.servlet.ServletException
-
resolve
-
connect
- Specified by:
connect
in interfaceHttpRegistryProvider
-
disconnect
- Specified by:
disconnect
in interfaceHttpRegistryProvider
-
getServletName
- Specified by:
getServletName
in interfaceHttpRegistryProvider
- Specified by:
getServletName
in interfacejavax.servlet.ServletConfig
- Overrides:
getServletName
in classjavax.servlet.GenericServlet
-
setServletName
-
getServletResolveConsumerStrategy
-
setServletResolveConsumerStrategy
public void setServletResolveConsumerStrategy(ServletResolveConsumerStrategy servletResolveConsumerStrategy) -
isAsync
public boolean isAsync() -
setAsync
public void setAsync(boolean async) -
getConsumers
-
overrideTccl
Override the Thread Context ClassLoader if need be.- Returns:
- old classloader if overridden; otherwise returns null
-
restoreTccl
Restore the Thread Context ClassLoader if the old TCCL is not null.
-
ServletResolveConsumerStrategy.resolve(javax.servlet.http.HttpServletRequest, java.util.Map)