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
public class CamelServlet extends javax.servlet.http.HttpServlet implements HttpRegistryProvider
A servlet to use as a Camel route as entry.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringASYNC_PARAMstatic StringEXECUTOR_REF_PARAMstatic StringFORCE_AWAIT_PARAMprotected org.slf4j.Loggerlogstatic List<String>METHODS
-
Constructor Summary
Constructors Constructor Description CamelServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidafterProcess(javax.servlet.http.HttpServletResponse res, HttpConsumer consumer, org.apache.camel.Exchange exchange, boolean rethrow)voidconnect(HttpConsumer consumer)voiddisconnect(HttpConsumer consumer)protected voiddoService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)This is the logical implementation to handle request withCamelServletThis is where most exceptions should be handledprotected voiddoServiceAsync(javax.servlet.AsyncContext context)This is used to handle request asynchronouslyMap<String,HttpConsumer>getConsumers()protected ExecutorgetExecutorService(HttpConsumer consumer)StringgetServletName()ServletResolveConsumerStrategygetServletResolveConsumerStrategy()voidinit(javax.servlet.ServletConfig config)booleanisAsync()protected ClassLoaderoverrideTccl(org.apache.camel.Exchange exchange)Override the Thread Context ClassLoader if need be.protected HttpConsumerresolve(javax.servlet.http.HttpServletRequest request)protected voidrestoreTccl(org.apache.camel.Exchange exchange, ClassLoader oldTccl)Restore the Thread Context ClassLoader if the old TCCL is not null.protected voidservice(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)voidsetAsync(boolean async)voidsetServletName(String servletName)voidsetServletResolveConsumerStrategy(ServletResolveConsumerStrategy servletResolveConsumerStrategy)-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Field Detail
-
ASYNC_PARAM
public static final String ASYNC_PARAM
- See Also:
- Constant Field Values
-
FORCE_AWAIT_PARAM
public static final String FORCE_AWAIT_PARAM
- See Also:
- Constant Field Values
-
EXECUTOR_REF_PARAM
public static final String EXECUTOR_REF_PARAM
- See Also:
- Constant Field Values
-
log
protected final org.slf4j.Logger log
-
-
Method Detail
-
init
public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException- Specified by:
initin interfacejavax.servlet.Servlet- Overrides:
initin classjavax.servlet.GenericServlet- Throws:
javax.servlet.ServletException
-
service
protected void service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException- Overrides:
servicein classjavax.servlet.http.HttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
getExecutorService
protected Executor getExecutorService(HttpConsumer consumer)
-
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, IOExceptionThis is the logical implementation to handle request withCamelServletThis is where most exceptions should be handled- Parameters:
request- theHttpServletRequestresponse- theHttpServletResponse- Throws:
javax.servlet.ServletExceptionIOException
-
afterProcess
protected void afterProcess(javax.servlet.http.HttpServletResponse res, HttpConsumer consumer, org.apache.camel.Exchange exchange, boolean rethrow) throws IOException, javax.servlet.ServletException- Throws:
IOExceptionjavax.servlet.ServletException
-
resolve
@Deprecated protected HttpConsumer resolve(javax.servlet.http.HttpServletRequest request)
-
connect
public void connect(HttpConsumer consumer)
- Specified by:
connectin interfaceHttpRegistryProvider
-
disconnect
public void disconnect(HttpConsumer consumer)
- Specified by:
disconnectin interfaceHttpRegistryProvider
-
getServletName
public String getServletName()
- Specified by:
getServletNamein interfaceHttpRegistryProvider- Specified by:
getServletNamein interfacejavax.servlet.ServletConfig- Overrides:
getServletNamein classjavax.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.
-
-