Skip to content

Instantly share code, notes, and snippets.

@tdudgeon
Created June 24, 2015 10:29
Show Gist options
  • Save tdudgeon/69ff3cdeb4e3ac68df87 to your computer and use it in GitHub Desktop.
Save tdudgeon/69ff3cdeb4e3ac68df87 to your computer and use it in GitHub Desktop.
Servlet with Camel Jetty
package foo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.SimpleRegistry;
import org.eclipse.jetty.servlet.ServletHandler;
public class CamelJettyServlet {
public static void main(String[] args) throws Exception {
SimpleRegistry registry = new SimpleRegistry();
registry.put("HelloServlet", createHelloServletHandler());
DefaultCamelContext context = new DefaultCamelContext(registry);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("jetty://http://0.0.0.0:8000/?handlers=#HelloServlet")
.log("Testing Jetty")
.transform().constant("Jetty Running\n");
}
});
context.start();
System.out.println("CamelJettyServlet running");
Thread.currentThread().join(30000);
context.stop();
}
private static ServletHandler createHelloServletHandler() {
ServletHandler handler = new ServletHandler();
handler.addServletWithMapping(HelloServlet.class, "/hello/*");
return handler;
}
public static class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello from HelloServlet</h1>");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment