Hi team, I have found several examples of camel servlet for tomcat server using spring DSL, I want to use Java DSL and create a RouteBuilder as shown below. This servlet works as expected on Jetty when I run using mvn jetty:run command, but doesn't work with tomcat server.
import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; public class DefaultRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { System.out.println("DefaultRouter"); from("servlet:hello?matchOnUriPrefix=true").process(new Processor() { public void process(Exchange exchange) throws Exception { String contentType = exchange.getIn().getHeader(Exchange.CONTENT_TYPE, String.class); String path = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class); path = path.substring(path.lastIndexOf("/")); exchange.getOut().setHeader(Exchange.CONTENT_TYPE, contentType + "; charset=UTF-8"); exchange.getOut().setHeader("PATH", path); exchange.getOut().setBody("<b>Hello World</b>"); } }); } } My web.xml looks like this <?xml version="1.0" encoding="ISO-8859-1"?> <webapp> <display-name>camel-servlet</display-name> <context-param> <param-name>name</param-name> <param-value>MyCamel</param-value> </context-param> <context-param> <param-name>routeBuilder-MyRoute</param-name> <param-value>org.apache.camel.community.so.servletlistener.DefaultRouteBuilder</param-value> </context-param> <listener> <listener-class>org.apache.camel.component.servletlistener.JndiCamelServletContextListener</listener-class> </listener> <servlet> <servlet-name>CamelServlet</servlet-name> <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CamelServlet</servlet-name> <url-pattern>/camel/*</url-pattern> </servlet-mapping> </webapp> Any help would be appreciated. Thanks & Regards, Riddhi