Could every programmer that has needed to join one system to another one please put their hand up? If you have your hand up, keep it up if you’ve found doing so a little tedious. If you still have your hand up, keep it up if handling retries and failures made you want to weep. It’s likely that a lot of you still have your hands up, I do. Repress those memories of socket servers that cause timeouts every so often and make your scheduled process explode and read on…

One Hump Or Two.

routes which Camel manages according to the definition you create. Routes originate with an endpoint like “netty:tcp://localhost:1234” and in the simplest case either reply back to that endpoint or send the message on to another endpoint.

Enterprise? Nooooo.

The Camel pages throw words like “enterprise” around and any sane person heads for the hills when Java and enterprise are spoken in the same sentence. Worry not, Groovy can save the day as in this example:

import org.apache.camel.builder.RouteBuilder
 
  import org.apache.camel.impl.DefaultCamelContext
 
  @Grab(group="org.apache.camel",module="camel-jetty",version="2.7.0")
 
  @Grab(group="org.slf4j",module="slf4j-nop",version="1.6.1")
 
  class WebRouteBuilder extends RouteBuilder {
 
    void configure() {
 
      from)
 
        .inOut()
 
        .setBody(constant("<html><title>Cake</title><body>Chocolate Cake Is The Best</body></html>"))
 
        .end()
 
    }
 
  }
 
  def camelContext = new DefaultCamelContext()
 
  camelContext.addRoutes(new WebRouteBuilder())
 
  camelContext.start()

That code can be dropped straight into a file and run with Groovy on the command line and serves up the snippet of HTML when )